我可以依靠 NHibernate 3.0 内置的 Linq 提供程序来执行复杂的查询,其中包含诸如 Max 和 Min 之类的聚合函数并包含诸如 Contains、StartsWith 或 EndsWith 之类的字符串操作?
问问题
751 次
3 回答
2
我发现的明显问题是:
- .OfType() 方法未实现,这可能是继承层次结构的问题。
- 不支持左连接
- 非平凡的分组操作不起作用(甚至像按组计数排序这样简单)。
- Fetch() 必须是查询中的最后一个方法,这会使与关联集合的分页变得困难。
但是,这绝对是 NHContrib 提供程序的改进。
您列出的操作在通常情况下都得到很好的支持。
于 2010-12-28T22:54:25.917 回答
1
LINQ 提供程序比 Ayende 编写的提供程序更加稳定和先进。(不否认他写的是因为他写的我又拿起了NH)
我认为 NH Query 遇到的唯一问题是复合类型。您可以在 EF/L2S 中执行它们,NH3 似乎生成了正确的 sql 但无法执行它。
我个人喜欢 QueryOver,它对我来说更好读。
于 2010-12-23T09:36:09.853 回答
1
关于 nhuser 名单的争论很多,因为仍有不少问题悬而未决。
我会查看 nhuser 组并阅读一些帖子并做出自己的决定。看到这里的帖子。
就我个人而言,我发现它可以满足我的queryover
所有需求,因此我会等到 Linq 提供程序随着时间的推移变得更加稳定。
我会建议加入 nhuser 小组以获得更好的感觉。
于 2010-12-23T09:23:37.417 回答