1
22
在我看来(在某些人看来也是如此),存储库应该是一个接口,它在一个模仿收集接口的接口中隐藏数据访问。这就是为什么存储库应该是iQuery和IEnumerable。
我不在存储库本身中实现类似submit changes的方法,因为我想一次提交用户一个操作使用的几个存储库的更改。我将事务管理隐藏在工作单元界面中:
我将特定于nhibernate的工作执行单元的会话用作存储库的会话:
在一个实际的应用程序中,我使用了一个更复杂的存储库接口,它提供了一些方法,比如分页、预加载、规范模式、对nhibrante使用的其他查询方法的访问,而不仅仅是linq。NHibernate主干中的LINQ实现对于我需要做的大多数查询都足够好。 |
2
1
以下是我对通用存储库的看法: Advantage of creating a generic repository vs. specific repository for each object? 我已经成功地使用了NHibernate模式,并且没有发现任何真正的缺点。 要点是,真正的通用存储库有点像是一条红鲱鱼,但同样的好处可以通过稍微不同地考虑问题来实现。 希望有帮助。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |