首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphDiff也可以用于简单实体的部分更新吗?

GraphDiff也可以用于简单实体的部分更新吗?
EN

Stack Overflow用户
提问于 2015-01-27 13:55:39
回答 1查看 401关注 0票数 2

我有一个WebApi2项目,EF6 CodeFirst。我还使用AutoMapper在我的模型和dto之间映射,我不使用OData。

我试图找到一个解决方案来处理实体的更新。因为我不使用OData,所以我不能使用Delta,我也不想使用JsonPatch。

在我的场景中:

  1. 客户端将数据(作为dto)发送到服务器。
  2. 服务器使用EF从DB加载关联的实体/实体图
  3. 服务器应该用dto的值来修补实体。
  4. 服务器保存修补实体,而EF应该负责更改跟踪。

我的问题在于3。

我可以使用GraphDiff来修补实体吗?(我还将使用GraphDiff更新复杂图形)。如果我可以使用GraphDiff,EF会自动改变跟踪功能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 17:32:37

在上述情况下:

  1. 如上段所述
  2. 服务器从dto映射到模型,并将模型传递给服务/存储库。
  3. Graphdiff将在更新前加载模型,并相应地处理更改的属性。
  4. Graphdiff将返回更新的实体

至于(3):

GraphDiff不执行每个属性修补程序。它通过遍历整个对象并构建一个差异来更新整个对象,然后将更改合并起来。由于加载的图形是由EF跟踪的,那么EF的任务就是发送正确的SQL语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28172212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档