大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:204832
用户头像

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

关注

评论

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

[译] 充分利用多摄像头 API,30分钟轻松入门flutter

android 程序员 移动开发

_Android 项目中 shape 标签的整理和思考,面试官不讲武德

android 程序员 移动开发

会议管理系统减少大中型企业的会议矛盾

低代码小观

企业管理 企业应用 管理系统 管理工具 会议管理

“我是培训 + 外包出来的,先收藏了

android 程序员 移动开发

[译] 改善 Android Studio 的构建速度(1),美团移动端开发工程师

android 程序员 移动开发

[译]掌握Kotlin中的标准库函数_ run、with、let,搞懂开源框架设计思想真的这么重要吗

android 程序员 移动开发

“我是培训 + 外包出来的(1),flutter与android混合开发

android 程序员 移动开发

“终于懂了” 系列,android面试简历模板

android 程序员 移动开发

「Android高工面试之旅」疫情失业裸面失败后,深入分析

android 程序员 移动开发

[译] 全新 Android 注入器 _ Dagger 2(三),android开发架构方案

android 程序员 移动开发

[Android-Gradle]-搞定Groovy闭包这一篇就够了,小程序开发步骤

android 程序员 移动开发

{Android}一行代码起飞,2021年百度Android面试真题

android 程序员 移动开发

“新常态”下的Android程序员要面对哪些压力,终于有人把安卓程序员必学知识点全整理出来了

android 程序员 移动开发

“阿里钉钉“Android 岗无缘二面,有幸内推进入“美团“送外

android 程序员 移动开发

「大厂Android面试解析」20道面试灵魂拷问题,论程序员成长的正确姿势

android 程序员 移动开发

Logback基本使用

平凡人生

[译] Android 的多摄像头支持,flutter登录

android 程序员 移动开发

[译] Plaid 应用迁移到 AndroidX 的实践经历,安卓卡顿优化方法

android 程序员 移动开发

可视化全埋点系列文章之元素标识篇

神策技术社区

可视化 全埋点

[译][2,安卓应用开发项目

android 程序员 移动开发

[译]内存泄露的八种花样,快速从入门到精通

android 程序员 移动开发

_ Dart 里的类型系统,android自定义控件开发入门与实战

android 程序员 移动开发

[译] Android 的 Java 9,10,11,作为程序员一定不要仅仅追求物质

android 程序员 移动开发

6.0反序列化漏洞分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

[译][2(1),android开发计算器源码

android 程序员 移动开发

“吹Kotlin协程的,可能吹错了,谈谈我认为的高级Android开发到底应该是怎样的

android 程序员 移动开发

阿里云EMAS发布套餐订阅云服务

移动研发平台EMAS

[译] 改善 Android Studio 的构建速度,掌握这6大技能体系

android 程序员 移动开发

{Android}面对最近的话题,kotlin库

android 程序员 移动开发

「安卓高级架构师」教你一种更清晰的Android架构,android原生开发技术

android 程序员 移动开发

【 Flutter 手势探索】我的第二本小册来了,嵌入式音视频方向

android 程序员 移动开发

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