BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

NHibernate Linq 1.0发布

| 作者 赵劼 关注 5 他的粉丝 发布于 2009年7月28日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

不久之前,NHibernate Forge宣布NHiberante Linq 1.0正式发布了。NHibernate以其灵活的O/R Mapping功能成为了.NET领域最有影响力,运用最广的ORM框架之一,它在某些社区群体的受欢迎程度甚至超过了微软官方的的LINQ to SQL及Entity Framework。作为NHibernate团队的重要成员,NHibernate Profiler项目的创始人Ayende Rahien一直致力于将LINQ这种高效的开发方式与NHibernate强大的功能进行结合。他也在博客中公开了NHibernate Linq 1.0正式发布的消息

过去几年,社区中呼声最高的功能便是Linq支持了,这里我很兴奋地宣布,NHiberante Linq 1.0已经正式发布了。

NHiberante的Linq支持基于NHibernate Contrib中的Linq Provider,它已经通过了一些现有项目的考验。虽然我们还没有确定何时将其合并至NHiberante中,但是项目团队认为现在已经可以给用户提供产品环境质量保证的Linq支持了。

这次的Linq覆盖所有Criteria API的功能。由于Criteria API的功能有限,我们没有提供对group join和子查询的支持。不过NHibernate Linq在过去几年中多次经历了产品环境的测试,大部分人认为可以满足他们的需要。

值得注意的是,这并不是社区中唯一的NHibernate Linq Provider实现。Steve Strong也提供过一个名为LINQ to NHibernate的项目,您可以在NhAddins中获得它的代码。与前者不同的是,LINQ to NHibernate使用了类似于Java Hibernate中基于ANTLR的方法,而NHibernate Linq则将Linq表达式转化为Criteria API。

两套不同的Linq Provider实现也引起了一些评论。有人认为双方应该合作,提示用户哪些功能会产生兼容问题,例如将一些API标记为过期,或者将它们转移到其他命名空间下面。对此,Steve回答道:

我目前还没有改变的打算。我经常对(NHibernate Linq)项目的作者说,基于Criteria API的做法会限制它的功能。我打算实现一个基于AST的Linq Provider,不过这还处于计划过程中。我们会追求一定程度上的兼容,但是我认为,如果要获得一些优势的话,难免会出现破坏性的改变。

您可以在NHibernate项目的文件列表中下载NHibernate Linq组件,也可以通过InfoQ中的专题了解更多有关NHibernate内容。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Good by Lee YJing

Good News

不明白怎么用的 by 袁 金辉

不明白怎么用的,等等看

冷眼 by Zhou Codor

其实重要的应该不是某种实现,而是一种思想。。。

灵活? by 姜 志刚

我认为,没有IBATIS.NET灵活.

提个问题,关于查询更新 by maple wlq

我使用HQL查询,问什么在SQl 的跟踪里发现每一条数据都会有一次更新?
例如:HQL 为"Select stu From Students stu where age > 20",然后
IQuery query = session.CreateQuery(hql);
query.List();
此时,数据库的实际执行显示,每一个被查出来的Student记录都会被更新。是否有方法制止这种更新?还是因为必须这样,谢谢!

这是个好消息 by 江天 皓月

挺不错的,一直用NH

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

6 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT