似乎将 N 层架构与 EF 一起使用意味着您被迫为数据层的加载方法实例化一个新的 DbContext 对象,然后在尝试保存时实例化另一个对象。
这样做的下游含义是,当您去保存时,在工作流开始时加载的实体不再处于状态,因此将调用保存到 ObjectStateManager.TryGetObjectStateEntry() 之类的东西会返回 false,而实际上是实体被保存确实起源于数据库。结果是保存我们的编辑会导致添加。
这似乎是一个相当常见的架构中的一个相当常见的工作流程。有什么明显的我错过了吗?