首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate效率

NHibernate效率
EN

Stack Overflow用户
提问于 2008-12-19 16:43:26
回答 7查看 1.4K关注 0票数 6

由于在ORM和现代数据访问方面落后,我希望摆脱DataSets (颤抖),进入一个合适的映射框架。

我已经把我的注意力放在了SQL上,我现在正在研究NHibernate,希望在我们的下一个项目中使用它。

对于旧式sql和数据集,您的sql查询显然只返回所需的数据。我还了解到,L2S还足够聪明地计算其where子句,以便它只返回所请求的对象。NHibernate是一样的吗?艾因德的Linq到NHibernate也是这样吗?

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

代码语言:javascript
复制
Select * from customers where name = "fred"

它会把每一个客户带到内存中,然后过滤掉非freds,还是它足够聪明,从一开始就得到它所需要的?

如果它是智能的,那么需要注意什么呢?是否有不能用这种方式计算的查询类型?我需要注意哪些性能问题?

谢谢

安德鲁

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-12-19 16:48:49

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

票数 8
EN

Stack Overflow用户

发布于 2008-12-19 16:51:40

Nhibernate提供了几种查询数据库的不同方法。Hibernate使用类似于Sql的语法HQL,即对象上的SQL。此外,它还可以通过示例进行搜索,在其中创建一个对象并填写所需的标准,然后hibernate将对象从具有相同属性值的DB中提取出来。

在这里看一看,它会让你加快速度,冬眠之夏 lession 2和2a将更深入地回答。

HTH

骨骼

票数 4
EN

Stack Overflow用户

发布于 2008-12-19 18:58:57

如果您真的担心NHibernate正在生成什么查询,那么运行,找出运行或配置它的日志并打开它的SQL输出。它将显示所有的SQL语句到配置其log4net的位置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/381485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档