gpt4 book ai didi

c# - 使用 DTO 时的 PATCH

转载 作者:太空狗 更新时间:2023-10-29 20:26:56 24 4
gpt4 key购买 nike

我正在研究 asp.net 核心 webAPI 和 EF 核心,并希望实现“更新”操作(部分编辑实体)。我搜索了正确的处理方法,发现我应该使用 jsonPatch。问题是我通过我的 API 只公开了 DTO,如果我像这样使用 jsonPatch:

public AccountDto Patch(int id, [FromBody]JsonPatchDocument<AccountDto> patch)

然后我需要在 DTO 上应用补丁,我不能在模型实体上应用它,除非创建一个新实体。

我还阅读了有关 Odata.Delta 的信息,但它仍然无法在 asp.net core 上运行,而且 - 我认为它没有用于处理 dto 的内置解决方案(我发现 this example 可以在以下情况下提供帮助核心数据将可用)

那么,现在 - 我应该使用 POST 并在查询中发送包含已更改属性列表的 DTO(如我所见 here ),还是 - 有更优雅的解决方案?

谢谢!

最佳答案

现在我看到使用 autoMapper 我可以做到这一点

CreateMap<JsonPatchDocument<AccountDTO>, JsonPatchDocument<Account>>();
CreateMap<Operation<AccountDTO>, Operation<Account>>();

它就像一个魅力:)

关于c# - 使用 DTO 时的 PATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38467473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com