InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

NHibernate Linq 1.0发布

作者 赵劼 发布于 2009年7月27日

领域
运维 & 基础架构,
架构 & 设计,
语言 & 开发
主题
.NET ,
数据访问 ,
编程 ,
数据库 ,
nHibernate ,
LINQ

不久之前,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内容。

赵劼 网名为老赵,洋名Jeffrey Zhao,写有技术博客“老赵点滴”。关注前沿技术,并致力于开源社区与微软平台的组合优化。

Good 发表人 Lee YJing 发表于
不明白怎么用的 发表人 袁 金辉 发表于
冷眼 发表人 Zhou Codor 发表于
灵活? 发表人 姜 志刚 发表于
提个问题,关于查询更新 发表人 maple wlq 发表于
这是个好消息 发表人 江天 皓月 发表于
  1. 返回顶部

    Good

    发表人 Lee YJing

    Good News

  2. 返回顶部

    不明白怎么用的

    发表人 袁 金辉

    不明白怎么用的,等等看

  3. 返回顶部

    冷眼

    发表人 Zhou Codor

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

  4. 返回顶部

    灵活?

    发表人 姜 志刚

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

  5. 返回顶部

    提个问题,关于查询更新

    发表人 maple wlq

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

  6. 返回顶部

    这是个好消息

    发表人 江天 皓月

    挺不错的,一直用NH