我有一个模型库(名称空间Test.App.Model.EF
),其中包含实体框架实现。这包含了我想要使用的EF设计器中提供的所有实体。在这个Model.EF
实现中,我有几个存储库类。我想为这些类创建接口,并将它们放在一个单独的接口库(Test.App.Model.Interface
)中。所以我这样做,显然实现库需要引用接口。但是,我注意到接口需要知道EF设计器中的对象(因为我想重用它们)。我无法创建从接口库到ef实现的引用,因为那时我将有一个循环引用。
所以,当我写这篇文章时,我得出的结论是,我可能需要一个具有实体框架“创建”实体的Test.App.Entities.EF
。这样我的接口lib就可以引用而无需了解Model.EF
。
这听起来像是要走的路吗?
答案 0 :(得分:1)
好的,所以经过多次摔跤之后,我找到了描述情况的嗡嗡声。我在这里寻找的是"Persistence Ignorance"。这就是我在线程中描述的内容。那么我们使用的实体框架(不是4.0)还不支持这个(除非你像home here那样自己开发。)
有了这个说法,EF 4.0将具有这个功能,但据我所知,它与.NET 4.0(为什么它首先称为EF 4.0)相结合,而且不会很快在我们的生产服务器上运行。由于我们决定采用这种技术,我们对接口的存储库抽象将被搁置,直到升级到4.0是一个可行的选项。
对于那些寻求相同信息的人来说,这是一个警告。如果这听起来不正确,也请告诉我(因为我希望能够早点发生这种情况,但我不希望我的团队在以后的实施中解决问题时会跳过箍)。谢谢大家!