NHibernate效率

And*_*ock 6 c# nhibernate performance

在ORM和现代数据访问领域落后,我正在寻求从DataSets(不寒而栗)转向适当的映射框架.

我只是想把Linq转到SQL,我现在正在研究NHibernate,以便在我们的下一个项目中使用它.

使用旧的sql和数据集,您的SQL查询显然只返回您想要的数据.我也理解L2S也足够聪明地评估它的where子句,以便它只返回你请求的对象.NHibernate是一样的吗?Ayende的Linq和NHibernate一样吗?

我的意思是,如果我做相当于:

Select * from customers where name = "fred"
Run Code Online (Sandbox Code Playgroud)

它会将每个客户都带入内存,然后过滤掉非freds,还是只是聪明到只能获得它所需要的东西?

如果它是智能的,有什么警告?是否有某些类型的查询无法以这种方式进行评估?我需要注意哪些性能问题?

谢谢

安德鲁

Pat*_*ins 8

一个快速的答案是ORM将检查属性名称并将其转换为一个SQL查询,它将命名为= ....因此它不会将所有客户加载到内存中以搜索名称.