2

似乎将 N 层架构与 EF 一起使用意味着您被迫为数据层的加载方法实例化一个新的 DbContext 对象,然后在尝试保存时实例化另一个对象。

这样做的下游含义是,当您去保存时,在工作流开始时加载的实体不再处于状态,因此将调用保存到 ObjectStateManager.TryGetObjectStateEntry() 之类的东西会返回 false,而实际上是实体被保存确实起源于数据库。结果是保存我们的编辑会导致添加。

这似乎是一个相当常见的架构中的一个相当常见的工作流程。有什么明显的我错过了吗?

4

1 回答 1

0

您可能有兴趣尝试N-Tier Entity Framework,它在 CodePlex 上是开源的,可以完美地满足您的需求。

于 2013-10-31T16:21:20.963 回答