美国银行卡Payoneer注册奖励25美元

上周末我在家试着使用几个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 2011-09-06 10:16  Nic Pei  阅读(19475)  评论(39编辑  收藏  举报