NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

Cordova插件中JavaScript代码与Java的交互细节介绍

Jerry Wang

Java JavaScript 移动应用 28天写作 12月日更

【福利】腾讯WeTest专有云解决方案,限时开放招募体验官

WeTest

数创新境,ToB要做难而正确的事

ToB行业头条

PackML从会到不会——命令标签(4)

陈的错题集

标准化 PackML

Sinfonia: a new paradigm for building scalable distributed systems--翻译理解【1】

Krysta

分布式 transaction Sinfonia DSM 两阶段提交改进

初识JVM的内存结构

Ayue、

技术专题合集

分享一个从源码快速构建应用的小工具

Draven Gorden

开发者工具 开发工具 开源项目

架构实战营 - 模块五作业

随风King

「架构实战营」

Selenium之css怎么实现元素定位?

六十七点五

大前端 软件测试 自动化测试 接口测试 selenium

等保工作中常见导致测评结论为差的高风险项

行云管家

网络安全 等级保护 等保测评 等保结论

vCenter管理软件用什么牌子好?有哪些用处?

行云管家

虚拟化 vcenter

短视频平台的风控系统设计

Bill Zhang

恒源云(GPUSHARE)_CIFAR-10数据集实战:构建ResNet18神经网络

恒源云

深度学习 算法

云智慧正式开源运维管理平台(OMP),加速AIOps社区生态建设

云智慧AIOps社区

运维 运维监控 开源软件 运维体系 运维系统

当我们谈论“远程开发”时,我们在谈论什么

Draven Gorden

云原生 开发者工具 开发工具 远程协作 开发环境

嚯,这款AI建模工具实在太强大了,快来pick!

百度开发者中心

AI python编辑器

如何在Flutter应用程序中创建不同的渐变 【Flutter专题14】

坚果

flutter 28天写作 12月日更

☕【并发技术系列】「多线程并发编程」技术体系和并发模型的基础探究(夯实基础)

洛神灬殇

Java 并发编程 多线程 多进程 12月日更

基于星环科技大数据平台 辽宁城市建设职业技术学院打造智慧校园

星环科技

大数据

使用工具Source Monitor测量您Java代码的环复杂度

Jerry Wang

Java 软件工程 28天写作 12月日更 代码复杂度

Java和ABAP中的几种引用类型的分析和比较

Jerry Wang

Java 引用 28天写作 abap 12月日更

一场关于元宇宙公司之死的剧本杀

白洞计划

模块5作业

覃飞

Linux一学就会之Centos8用户管理

学神来啦

Linux centos 运维 linux云计算

我不用“996”,更不用“007”,可我赚的就是比你多

六十七点五

软件测试 自动化测试 接口测试 测试工程师 功能测试

Camtasia视频剪辑功能详解

淋雨

Camtasia

凭什么说jdk11比jdk8好?

老地平线

JVM jdk8 JDK11

一周信创舆情观察(11.22~11.28)

统小信uos

架构团队如何重构内部系统

智联大前端

重构

dart系列之:还在为编码解码而烦恼吗?用dart试试

程序那些事

flutter dart flutter 面向切面 aop 程序那些事 12月日更

小程序与H5适合的场景应用都有哪些

Speedoooo

ios开发 APP开发 容器安全 Andriod开发 容器应用

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