|
|
1
2
我想回答3… 我觉得它不那么“臭”,更“懒”。这是一个典型的“存储库”,我在互联网上看到过…
据我所知,这不是一个存储库,而是一个“会话”或“工作单元”。这是一种方便的方法,可以抽象出您使用的任何数据库技术,而只需与一个非常通用的接口进行交流。所以我们把它重命名为
在这个设置中,
希望这有帮助。 |
|
|
2
2
我们目前正在将ef与ddd结合使用,但我不得不说,在当前的实现中,ef不太适合这种体系结构。主要的问题是,ef当前工作的唯一方式是让每个“实体”从ef特定的基类派生。 另一方面,存储库的关键是 摘要 放弃数据访问技术。DDD背后的全部思想是域模型应该 无约束的 通过实现细节,如数据访问技术的选择。这意味着应该定义域对象,使它们成为不知道持久性的对象。 换句话说:您不能将ef“entities”用作域对象,因此在DAL中,必须手动编写许多代码,将域对象与ef“entities”之间的映射映射。很快就累了。 我肯定会认为在存储库上使用iQueryable是一种泄漏的抽象,用ddd的说法,它没有多大意义。如果域对象是内聚单元,那么只从中选择某些“列”就没有什么意义。 在EF for.NET 4.0中,我们会受到持久性的忽视,因此它在将来会变得更好… |
|
|
3
0
|
|
|
Paritosh · EF Core为什么要返回相关属性 1 年前 |
|
|
chuckd · 如何检查EF Core中是否存在当月创建的行(记录) 2 年前 |
|
|
Steven · 带sqlite的EF与sqlite净pcl 2 年前 |
|
|
Riyaz Vagapov · EF核心交易 2 年前 |