(注意:我的问题与三个月前提出这个问题的人非常相似,但从未得到过回答.)
我最近开始使用MVC3 + Entity Framework,我一直在阅读最佳实践是使用存储库模式集中访问DAL.这也伴随着您希望将DAL与域(尤其是视图层)分开的解释.但是在示例中,我看到存储库(或似乎是)只是返回DAL实体,即在我的情况下,存储库将返回EF实体.
所以我的问题是,如果它只返回DAL实体,那么存储库有什么用呢?这是否会增加一层复杂性,而不会消除在层之间传递DAL实体的问题?如果存储库模式创建"进入DAL的单一入口点",那么它与上下文对象有何不同?如果存储库提供了一种检索和持久化DAL对象的机制,那么它与上下文对象有何不同?
此外,我至少读过一个地方,工作单元模式集中了存储库访问以管理数据上下文对象,但我不知道为什么这也很重要.
我98.8%肯定我在这里遗漏了一些东西,但从我的读数中我没有看到它.当然,我可能只是没有阅读正确的消息来源......:
design-patterns domain-driven-design entity-framework repository-pattern