我已经使用EF 4.0使用存储库模式在MVC3中构建了一个站点。一切都很顺利,但我开始遇到很多“两个对象之间的关系无法定义,因为它们附加到不同的ObjectContext对象”错误。看起来,我的存储库层让所有的上下文都混在一起,所以我认为启动一个新的EF4.1项目可能会更容易一些。实体框架4.1 - 疯狂的选项数量
起初我考察了Repository Pattern +工作单元,但发现有些线程表示EF4.1并不需要这个。我遇到this线程说“DbContext是工作单元模式的实现,IDbSet是存储库模式的实现”。我想,也许那时我可以使用它。经过进一步的检查,尽管DbContext似乎使用了Code First方法,但据我所知,如果POCO发生变化,我会再次删除并重新创建数据库。我需要将数据保存在我的数据库中,所以据我所知可以选择。
我的脑袋现在旋转EF选项。 EF4.1需要存储库模式吗? DbContext是否适用于已经充满数据的数据库?有没有更好的方法来管理不涉及这些的实体上下文?
任何推向正确的方向将是伟大的=/
有趣。看起来像4.1会给我提出同样的问题,所以我可能最好,正如你所说,只是解决当前的问题。很多好用的指针虽然使用,欢呼! – boolean 2012-03-24 23:04:16
@boolean:BTW,当前版本'DbContext'/Code First是EF 4.3.1。如果您考虑升级,请直接转到该版本。 – Slauma 2012-03-24 23:08:48