生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

NHibernate Linq 1.0 发布

  • 2009-07-27
  • 本文字数:906 字

    阅读完需:约 3 分钟

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

2009-07-27 04:204325
用户头像

发布了 157 篇内容, 共 52.5 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

19岁少年开发浏览器插件赚到10万美金

程序员陆通

程序员 赚钱 浏览器插件 出海

MyBatis程序基础实现

Andy

MySQL向表中添加列

okokabcd

MySQL

开发者新手指南:进入 Web3 前,你需要掌握哪些必备技能?

TinTinLand

区块链 程序员 开发者 编程语言 招聘

微服务架构

阿泽🧸

微服务 10月月更

MyBatis面试题(部分)

Andy

MyBatis初步理解

Andy

【web 开发基础】PHP 循环结构之while循环 -PHP 快速入门 (17)

迷彩

while循环 10月月更 PHP基础 循环结构

【web 开发基础】PHP 循环结构之do...while 循环 -PHP 快速入门 (18)

迷彩

10月月更 PHP基础 循环结构 do...while

极客时间—架构实战营—第九期—模块三作业

阿梁

GitHub简介

Andy

Git之分支管理

Andy

MyBatis之Annotation

Andy

深入浅出Python——Python高级语法之文件操作

何极光

Python 文件操作 10月月更

MyBatis之关系映射(下)

Andy

2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上的元素。 实现 MajorityChecker 类

福大大架构师每日一题

算法 rust 福大大

测试架构需要具备哪些能力

老张

软件工程 软件测试 系统架构

“程”风破浪的开发者|我是如何学习编程的

小明Java问道之路

Java 学习方法 编程 10月月更 “程”风破浪的开发者

Git简介

Andy

深耕稳定安全会议服务,华为云会议具备会议全球接入能力

秃头也爱科技

深入浅出Python——Python高级语法之面向对象

何极光

Python 面向对象 10月月更

Spring整合MyBatis

Andy

BoardMix:免费在线PPT制作工具,堪称办公神器!

彭宏豪95

职场 工具 PPT 在线白板

企业业务沟通新选择,华为云会议支持全场景智能协作

秃头也爱科技

华为云桌面——云端上“最卷的云”

秃头也爱科技

SQL的基本介绍

攻城狮Wayne

Python 数据库SQL 10月月更

深入浅出Python——Python高级语法之异常、模块、包

何极光

Python 异常 模块 10月月更

投资成本低且无需专人维护!华为云会议让沟通更高效

秃头也爱科技

MyBatis之缓存机制和动态SQL

Andy

MyBatis之识别器

Andy

MyBatis之关系映射(上)

Andy

NHibernate Linq 1.0发布_.NET_赵劼_InfoQ精选文章