【发布时间】:2010-05-01 14:24:39
【问题描述】:
关于这件事有几个类似的问题,我仍然没有找到足够的理由来决定走哪条路。
真正的问题是,abstract the NHibernate using a Repository pattern 或 not 是否合理?
似乎抽象它的唯一原因是让自己可以在需要时用不同的 ORM 替换 NHibernate。但是创建存储库和抽象查询似乎又增加了一层,而且大部分工作都是手工完成的。
一种选择是使用将 IQueryable<T> 暴露给业务层并使用 LINQ,但根据我的经验,在 NHibernate 中仍然没有完全实现 LINQ 支持(查询并不总是按预期工作,我讨厌花时间在调试框架)。
虽然在我的业务层引用 NHibernate 很伤眼,但它本身应该是对数据访问的抽象,对吧?
您对此有何看法?
【问题讨论】:
-
如何仅使用 linq 将新项目添加到数据库中?
-
@Paco:向数据库添加新项目很容易抽象,我不是在谈论这个。查询是真正的问题,因为没有简单的方法可以在没有足够编码的情况下通过存储库启用复杂的查询。
标签: .net nhibernate repository-pattern linq-to-nhibernate