c# - 如何轻松地将域对象与相关实体进行比较,以便使用 EF Core 更新数据库?
问题描述
对于我的 ASP.NET Core API 项目,我正在顺利地从标准存储库模式方法(在 repo 层中具有大部分业务逻辑)转移到非常诱人的 DDD 方法。我的域对象和我的实体总是不同的,因为我正在维护一个现有的应用程序,其中有一个数据库。
所以这个过程将是(如果我弄错了,请纠正我):
- 从数据库加载聚合
- 在应用层做工作(当然依赖于领域模型/内部逻辑)和
- 用结果更新数据库
借助自动映射器,步骤(1)没问题。
步骤(2)很棒,(OO编程,终于!)
步骤 (3) 是我的问题:我仍然持有步骤 (1) 中的初始实体模型,并且我有步骤 (2) 中的域模型,再次感谢 Automapper,我可以恢复为实体。
问题:是否有一种方法可以比较实体 (1) 和 (2) 并要求 EF Core 2.1 进行更新(可能使用状态)?
我已经在使用AddOrUpdate()
which 确实适用于添加或更新,但不适用于删除值对象。
解决方案
推荐阅读
- r - R::ggplot2 循环 Y 的向量以在一页上绘制多个图
- netlogo - Netlogo:将 Levelspace 扩展与 extrawidget 扩展一起使用
- javascript - React-Native 从数组中删除对象
- c# - 空元素冒泡排序的逆序
- python - Django,如何根据查询集设置过滤器?
- javascript - 如果 ID 无效,则返回错误消息,但即使在函数上使用 IF 语句,它仍会要求验证
- ios - 为什么选定的图像会迅速溢出按钮边框?
- python - 使用 BeautifulSoup 抓取财务数据
- css - 行高和字体大小不一致的问题
- f# - 如何在 F# 中使用 sprintf 构建格式字符串?