写点什么

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

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

关注

评论

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

HarmonyOS开发实战:HiAI Foundation Kit赋能新闻应用智能推荐

chengxujianke

HarmonyOS开发实战:Neural Network Runtime Kit加速新闻AI推理

chengxujianke

HarmonyOS开发实战:Ads Kit实现新闻应用智能广告变现

chengxujianke

HarmonyOS开发实战:Contacts Kit实现新闻社交化分享

chengxujianke

鸿蒙应用开发:Intents Kit实现新闻应用智能跳转

chengxujianke

HarmonyOS开发实战:App Linking Kit实现新闻应用深度链接

chengxujianke

鸿蒙应用开发:Cloud Foundation Kit构建新闻数据云端同步

chengxujianke

鸿蒙应用开发:File Manager Service Kit实现新闻离线缓存管理

chengxujianke

《HarmonyOSNext应用埋点黑科技:HiAppEvent全方位事件监控指南》

Turing_010

鸿蒙开发笔记:Natural Language Kit实现新闻智能语义分析

chengxujianke

鸿蒙开发实战:Call Service Kit实现新闻热线一键拨打

chengxujianke

HarmonyOS开发实战:Game Service Kit打造新闻互动小游戏

chengxujianke

鸿蒙开发笔记:实现车机安全应用无缝跳转

yimapingchuan

鸿蒙 FolderStack 组件全解析:折叠屏悬停布局开发指南

谢道韫

鸿蒙应用开发:AppGallery Kit实现新闻应用智能分发

chengxujianke

HarmonyOS开发实战:打造车机智能语音报警系统

yimapingchuan

HarmonyOS开发实战:实现车机安全呼叫系统

yimapingchuan

HarmonyOS开发实战:构建车机安全云端协同系统

yimapingchuan

鸿蒙 Stack 组件深度解析:层叠布局的核心应用与实战技巧

谢道韫

HarmonyOS开发实战:Calendar Kit实现新闻事件智能订阅

chengxujianke

HarmonyOS开发实战:在车载安全联络系统的应用

yimapingchuan

鸿蒙应用开发:Speech Kit打造智能新闻语音助手

chengxujianke

鸿蒙应用开发:Account Kit实现新闻应用一键登录

chengxujianke

鸿蒙开发笔记:实现车机安全系统多账户安全隔离

yimapingchuan

鸿蒙应用开发:实现车机安全日程智能联动

yimapingchuan

HarmonyOS开发实战:MindSpore Lite Kit优化新闻推荐模型推理

chengxujianke

HarmonyOS开发实战:Vision Kit实现新闻图像智能分析

chengxujianke

HarmonyOS开发实战:Health Service Kit在健康新闻监测中的创新应用

chengxujianke

HarmonyOS开发实战:实现车机环境智能监控

yimapingchuan

鸿蒙应用开发:实现车机安全系统增值服务变现

yimapingchuan

HarmonyOS开发实战:实现车机安全应用智能分发

yimapingchuan

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