.NET平台的常见O/R Mapping框架简介

O/R Mapping是指通过操作对象的方式来读写数据库,比直接使用SQL方便太多了。在.NET强大的平台支持下,O/R Mapping框架也遍地开花。

NHibernate。开源项目。继承自O/R Mapping的开山大作Hibernate(Java平台)。发展时间长,比较成熟。Hibernate系列的一个问题是配置文件比较复杂。LINQ to NHibernate 1.0也在2009年7月发布,NHibernate终于也能使用LINQ了。

Castle项目的ActiveRecord。开源项目。听名字就知道,模仿Ruby的ActiveRecord。底层使用NHibernate,充分利用了.NET的Attribute和Generic,隐藏了复杂的配置文件。实现相当完整。可惜在LINQ to SQL、Entity Framework出世后,日渐式微。

LINQ to SQL。微软为LINQ和SQL Server定制的方案,与LINQ同步推出,集成在.NET 3.5中。最初是由SQL Server的开发团队开发的。与Visual Studio 2008高度集成,直接鼠标拖放,全自动的代码生成,使用方便。只能用于SQL Server是最大的限制。由于LINQ to SQL和Entity Framework是一个开发团队维护,而其负责人已经在blog上表明以后主攻方向是Entity Framework,所以LINQ to SQL的前途渺茫。

ADO.NET Entity Framework。微软在2004年提出ObjectSpace,最终发展成为Entity Framework,集成在.NET Framework 3.5 SP1和Visual Studio 2008 SP1中。作为微软主推的O/R Mapping框架,现行版本为1.0。相比其他框架,非常关注性能,这也是众多O/R Mapping框架亟待解决的问题。推荐使用。
posted @   tinyfish  阅读(1324)  评论(4编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示