我正在开始一个新的项目,并决定尝试合并DDD模式,还包括Linq to Entities。当我查看EF的ObjectContext时,它似乎同时执行存储库和工作单元模式的功能:
存储库是从实体表示中抽象出来的底层数据层接口,我可以通过ObjectContext请求和保存数据。
工作单元,在执行SaveChanges()时,我可以将所有插入/更新写到objectContext中,并在一次执行中执行它们。
将这些模式的另一层放在EF ObjectContext之上似乎是多余的?模型类似乎也可以使用“部分类”直接合并到EF生成的实体之上。
我是DDD的新手,所以如果我遗漏了什么,请告诉我。
发布于 2009-02-06 13:06:30
我想说的是,您应该将ObjectContext视为您的UnitOfWork,而不是存储库。
ObjectContext不能是存储库-imho-因为它是“通用的”。您应该创建自己的存储库,在常规的CRUD方法旁边有专门的方法(例如GetCustomersWithGoldStatus )。
因此,我要做的是创建存储库(每个聚合根对应一个存储库),并让这些存储库使用ObjectContext。
https://stackoverflow.com/questions/520065
复制相似问题