最近,我们已将nHibernate更新为3.2.现在,我们为编写查询添加了两个新选项 - Query(LINQ)或QueryOver(iCriteria).
从我读到的,QueryOver致力于nHibernate和更强大的复杂查询.另一方面,LINQ是通用的,如果明天我改变我的ORM,我的查询保持不变.我使用LINQ的另一个重要原因是,在LINQ上我发现了比QueryOver更多的文档和示例.
实际上,我更喜欢使用LINQ,我想确保没有关键原因我不应该这样做.
提前致谢,
你交换你的ORM的可能性非常小.
QueryOver和Query都有其优缺点.
但NH的好处是你可以轻松地在任何查询功能之间轻弹.在我工作的地方,我们使用QueryOver(主要),Query,HQL以及有时直接SQL的混合.
虽然来自NH的许多LINQ查询很容易转换为EF,LightSpeed或您选择的ORM,但是有一整堆NH特定的LINQ(例如Fetching)内置在LINQ提供程序中,这将很难换出任何时候的ORM.
有时,QueryOver查询将生成比Query更好的SQL,反之亦然,因此只需使用您喜欢的内容并在执行时分析查询,以确保生成的SQL有效.
| 归档时间: |
|
| 查看次数: |
3767 次 |
| 最近记录: |