Nhibernate 3.2 Query与QueryOver

Olg*_*gaB 2 linq nhibernate

最近,我们已将nHibernate更新为3.2.现在,我们为编写查询添加了两个新选项 - Query(LINQ)或QueryOver(iCriteria).

从我读到的,QueryOver致力于nHibernate和更强大的复杂查询.另一方面,LINQ是通用的,如果明天我改变我的ORM,我的查询保持不变.我使用LINQ的另一个重要原因是,在LINQ上我发现了比QueryOver更多的文档和示例.

实际上,我更喜欢使用LINQ,我想确保没有关键原因我不应该这样做.

提前致谢,

Phi*_*ill 9

你交换你的ORM的可能性非常小.

QueryOver和Query都有其优缺点.

但NH的好处是你可以轻松地在任何查询功能之间轻弹.在我工作的地方,我们使用QueryOver(主要),Query,HQL以及有时直接SQL的混合.

虽然来自NH的许多LINQ查询很容易转换为EF,LightSpeed或您选择的ORM,但是有一整堆NH特定的LINQ(例如Fetching)内置在LINQ提供程序中,这将很难换出任何时候的ORM.

有时,QueryOver查询将生成比Query更好的SQL,反之亦然,因此只需使用您喜欢的内容并在执行时分析查询,以确保生成的SQL有效.