美国银行卡Payoneer注册奖励25美元
posts - 85,  comments - 1230,  views - 104万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

上周末我在家试着使用几个ORM工具来写了数据访问模块。使用的模式都是UnitOfWork和Repository。 最终由服务层来和业务模块进行数据交互。目前只有3种ORM工具的例子。

包括Entity Framework, NHibernate和Simple.Data。

项目地址:http://code.google.com/p/multi-orm-samples/ 

补充:应有些人要求,让我上传一份源代码,在google code上上传了一份可以下载的代码,非svn迁出。6个小时内超过110次下载,确实有点不可思议。。。我会继续更新,包括模式和ORM工具,以及IOC工具。


数据访问模块的对比:

image

在不同的ORM中有不同的自动生成数据库方式。相对来说,EF最大的优势就是对SQL Server的支持更好,它设置不需要实体和数据库的映射就能自动创建数据库。而NHibernate对多数据库的支持非常好,而且它是比较稳定的东西。

Simple.Data代表一个新的势力,还很年轻,才0.9.它的优势不仅是使用了.net最新的特性,让数据的交互更加没有约束性,另外还支持扩展。目前很多人都在它的基础上写了针对各个数据库的ORM扩展。包括MongoDB。

在Web层面我使用了MVC3。另外使用了几个IoC工具,包括Unity和Autofac。

image

image

实际上例子中只是简单的增删改查,不包括1-N的例子,但是我可以确定的是,这几个ORM工具都可以很好的支持这些join,where ,in等数据操作。

这篇文章我不会介绍整个实现过程,整个实现并不复杂,所以如果你觉得需要我另外来介绍如果真个架构的实现,可以在后面评论里说明下,具体哪里不明白。

代码下载:

http://code.google.com/p/multi-orm-samples/

或者:http://code.google.com/p/multi-orm-samples/downloads/list 可以下载

image

你可以使用SVN CheckOut 源代码。

我希望有更多人愿意参与进来,完善现在的整个模式,让学习ORM的新人能够更快的去了解如何使用这些工具,对比它们的优缺点。

如果你有这个意向,并且有自己喜欢的ORM工具,请写好你的代码并通过email(nic162534@gmail.com)和我联系。

你的代码必须遵循以下几个规则:

1.遵循目前存在的3个ORM的编写模式。

2.面向接口编程。

3.使用IoC工具(Ninject,Castle, StructerMap等)。

 

posted on   Nic Pei  阅读(19487)  评论(39编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示