我正在开发使用 NHibernate 3 的项目,但代码非常混乱。我想做的是:
- 将测试代码引入项目
- 引入存储库模式 - 我在使用 Entity Framework 4 的项目中做到了,我很喜欢它,特别是有机会测试查询而不考虑使用的存储(我可以模拟内部存储并注入内存中的实现,如对象列表)
- 由于当前 DAO 代码使用 CreateCriteria 方法并创建特定于 NHibernate 的查询,因此不可能用另一个替换 NHibernate 存储(或者至少我不知道如何在 List 实例上执行 NHibernate.ICriteria。所以我需要一种创建方法无论存储实现如何,都可以使用查询。
有没有办法实现它?