2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

Groovy入门常用语法

FunTester

Java 语法 测试开发 Groovy FunTester

腾讯云原生数据库 TDSQL-C荣获“云原生卓越技术提供商”奖项

腾讯云数据库

数据库 tdsql

TDSQL交易型分布式数据库背景分析

腾讯云数据库

数据库 tdsql

「IM开源推荐」前微信技术专家打造,golang实现,一键部署,客户端SDK全平台支持,轻松替代IM云服务

OpenIM

一文说清楚css3具有颠覆意义的2D转换效果

你好bk

CSS html css3 大前端 html/css

Android性能优化之Android 10+ dex2oat实践

字节跳动终端技术

字节跳动 移动开发 Android; 火山引擎

北京博睿宏远数据科技股份有限公司声明

博睿数据

带你读Paper丨分析ViT尚存问题和相对应的解决方案

华为云开发者联盟

论文阅读 华为云 Vision Transformer 卷积核

华为宣布启动“开源雨林”计划,与社区伙伴共迎开源挑战

🚄【Redis基础指南】推荐给大家的「主从模式」+「缓存穿透」的学习小贴士(提炼优化)

码界西柚

redis Redis缓存穿透 10月月更

第 12 章 -《Linux 一学就会》-重定向和文件的查找

学神来啦

云计算 Linux 运维 linux学习

8. 这篇博客,把python从数值到模块、到字典、到元组,真python入门复习教程通览

梦想橡皮擦

10月月更

kubernetes pod访问不了外网但是宿主机可以

ilinux

出自阿里P8之手的这份微服务架构实践手册,为何能霸榜GitHub一周

进击的王小二

Java 架构 分布式 微服务

disruptor在数据同步场景下的应用实战

编程 架构 面试 后端

ERP对你有帮助吗?ERP是什么时候开始出现的?

低代码小观

管理 企业 企业管理 运营管理 企业管理系统

ERP系统能帮你做些什么?ERP系统的部署类型哪个更适合你?

低代码小观

企业 企业管理 信息化管理 流程管理

VSCode设置Python的unittest测试

陈磊@Criss

报名|飞桨中国行- AI赋能软硬件产品创新

百度大脑

人工智能 百度 飞桨

【Python自动化测试网站推荐】免费资源网址,帮你找到所有想要的资源!!

程序员阿沐

Redis和tdsql数据异地同步(迁移)案例

腾讯云数据库

数据库 tdsql

MyCAT、DRDS、TIDB、TDSQL、TBase 在实现分布式事务时的区别及其各自的优势?

腾讯云数据库

数据库 tdsql

号角声响!联想图像发起“百家百试”项目第二期,诠释“真国货之光”

🐬【MySQL技术专题】该换换你的数据库版本了,让我们一同迎接8.0的到来哦!(初探篇)

码界西柚

MySQL 运维 MySQL8.0 MySQL 数据库 10月月更

盘盘 DevOps“衍生品”: DevSecOps、NoOps、AIOps

飞算JavaAI开发助手

从用户关系看产品发展

石云升

产品经理 产品思维 产品分析 10月月更

mysql cpu占用超过100%

hasWhere

何时适合进行自动化测试?(上)

禅道项目管理

自动化测试

沈抚示范区·“华为云杯”2021全国AI大赛圆满落幕

华为云开发者联盟

人工智能 华为云 modelarts AppCube AI大赛

云原生数据库TDSQL-C和传统主备方式数据库有什么区别?

腾讯云数据库

数据库 tdsql

OpenKruise 如何实现应用的可用性防护?

阿里巴巴云原生

阿里云 开源 云原生 OpenKruise

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