一起谈.NET技术,NHibernate 3.0.0.Alpha1 发布及新特性介绍

简介:   发布  刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。  下载地址  你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下。

  发布

  刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。

  下载地址

  你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下。

  • NHibernate源码:NHibernate-3.0.0.Alpha1-src.zip
  • NHibernate二进制文件:NHibernate-3.0.0.Alpha1-bin.zip

  特性介绍

  NHibernate 3.0.0版本可以说是跨时代的一个版本,NHibernate贡献者们经过了一年的完善和测试,增加了非常多的新特性和修复很多BUG。下面我自己归类总结一下这些新特性吧。

  Configuration部分

  新增两种方式流配置(fluent-configuration)和lambda表达式配置(lambda-configuration)配置SessionFactory。

  新增对WCF的支持,提供WcfOperationSessionContext,我们可以直接配置"current_session_context_class"为"wcf_operation",直接在WCF中应用NHibernate。

  在Configuration类中新增了AddDeserializedMapping(HbmMapping mappingDocument, string documentFileName)方法,可以直接解析HbmMapping,我们可以选择不使用xml文件Mapping。

  Mapping部分

  Fabio Maulo完全重构了NHibernate.Cfg.MappingSchema部分,提高了性能,另外Fabio Maulo设计了一个配置ORM工具——ConfOrm,帮助我们“自动”实现Mapping,当然了,ConfOrm不是NHibernate的一部分,我们需要另外单独下载。

  Query部分

  在NHibernate 3.0.0版本中,新增了New Embebed Linq ProviderNew strongly typed query API (QueryOver)两种查询方式,那么NHibernate 3.0.0现在支持了7种查询方式。

  QueryOver是Lambda表达式方式的条件(Criteria)查询,可读性强且支持property-renaming特性。

  Linq是由Steve Strong贡献者开发的,完全基于AST的Linq Provider实现。在之前的NHibernate2.1.2版本中没有提供Linq功能,Ayende Rahien贡献者另外设计第三方NHiberante.Linq.dll(目前已经停止了维护),它是基于Criteria API的Linq Provider,主要功能是将简单的Linq表达式转化为Criteria API,所以存在很多天生的不足,现在我们可以完全抛弃这个第三方dll了,完全使用NHibernate3.0.0自带全新的Linq查询支持。

  其他

  除了上面可以归类的新特性,还提供了很多新特性,我先来列举一下:

  属性延迟加载特性:这是我们一直以来梦寐以求的功能,NHibernate 3.0.0实现了,这里注意一下,它仅支持Castle的bytecode-providers,不支持Spring.Net和LinFu。

  No Proxy关联特性:这个功能和上面的差不多。

  内置hbm2ddl工具

  还有其他特性不一一列举,更多信息请参考发行文件。以后博文介绍。

  博文分享

其实,我之前介绍了有关NHibernate 3.0.0版本的新特性,其中NH剖析系列就是基于NHibernate 3.0.0版本的,下面列举一下分享下,以后会慢慢博文Query部分和其他部分特性介绍。

NH剖析:Configuration篇——SessionFactory的Properties之fluent-configuration配置

NH剖析:Configuration篇——SessionFactory的Properties之lambda-configuration配置

NH剖析:Configuration篇——SessionFactory的Cache之lambda-configuration配置

NH剖析:Mapping篇之ConfORM实战(1):概览

NH剖析:Mapping篇之Mapping概览

NH剖析:Mapping篇之集合映射基础(1):Set映射

NH剖析:Mapping篇之集合映射基础(2):Bag映射

NH剖析:Mapping篇之集合映射基础(3):List映射

NH剖析:Mapping篇之集合映射基础(4):Map映射

希望本文对你有所帮助。

目录
相关文章
|
5天前
|
人工智能 开发框架 量子技术
【专栏】.NET 技术:驱动创新的力量
【4月更文挑战第29天】.NET技术,作为微软的开发框架,以其跨平台、开源和语言多样性驱动软件创新。它在云计算、AI/ML、混合现实等领域发挥关键作用,通过Azure、ML.NET等工具促进新兴技术发展。未来,.NET将涉足量子计算、微服务和无服务器计算,持续拓宽软件开发边界,成为创新的重要推动力。掌握.NET技术,对于开发者而言,意味着握有开启创新的钥匙。
|
5天前
|
开发框架 .NET C#
【专栏】理解.NET 技术,提升开发水平
【4月更文挑战第29天】本文介绍了.NET技术的核心概念和应用,包括其跨平台能力、性能优化、现代编程语言支持及Web开发等特性。文章强调了深入学习.NET技术、关注社区动态、实践经验及学习现代编程理念对提升开发水平的重要性。通过这些,开发者能更好地利用.NET构建高效、可维护的多平台应用。
|
5天前
|
机器学习/深度学习 vr&ar 开发者
【专栏】.NET 技术:引领开发新方向
【4月更文挑战第29天】本文探讨了.NET技术如何引领软件开发新方向,主要体现在三方面:1) 作为跨平台开发的先锋,.NET Core支持多操作系统和移动设备,借助.NET MAUI创建统一UI,适应物联网需求;2) 提升性能和开发者生产力,采用先进技术和优化策略,同时更新C#语言特性,提高代码效率和可维护性;3) 支持现代化应用架构,包括微服务、容器化,集成Kubernetes和ASP.NET Core,保障安全性。此外,.NET还不断探索AI、ML和AR/VR技术,为软件开发带来更多创新可能。
|
5天前
|
开发框架 Cloud Native 开发者
【专栏】剖析.NET 技术的核心竞争力
【4月更文挑战第29天】本文探讨了.NET框架在软件开发中的核心竞争力:1) .NET Core实现跨平台与云原生技术的融合,支持多操作系统和容器化;2) 提升性能和开发者生产力,采用JIT、AOT优化,提供C#新特性和Roslyn编译器平台;3) 支持现代化应用架构,包括微服务和容器化,内置安全机制;4) 丰富的生态系统和社区支持,拥有庞大的开发者社区和微软的持续投入。这些优势使.NET在竞争激烈的市场中保持领先地位。
|
5天前
|
开发框架 .NET 开发者
【专栏】领略.NET 技术的创新力量
【4月更文挑战第29天】.NET技术自ASP.NET起历经创新,现以.NET Core为核心,展现跨平台能力,提升性能与生产力,支持现代化应用架构。.NET Core使开发者能用同一代码库在不同操作系统上构建应用,扩展至移动和物联网领域。性能提升,C#新特性简化编程,Roslyn编译器优化代码。拥抱微服务、容器化,内置安全机制,支持OAuth等标准。未来.NET 6将引入更快性能、Hot Reload等功能,预示着.NET将持续引领软件开发潮流,为开发者创造更多机会。
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
45 0
|
9天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
18 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
2月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
101 5