博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我最喜欢的ORM工具—Simple Data

Posted on 2011-09-06 11:00  sunjie  阅读(460)  评论(0编辑  收藏  举报

image

  现在大家做项目,肯定很多人都在用ORM工具,.net家族内,用的比较多的大概是NHibernate和Entity Framework。我想使用EF的应该都是铁杆MS粉,使用NHibernate的是开源的支持者。 除了它们两个,大家估计都有自己公司的ORM工具。 不排除有些人还在用linq to sql(我们刚完成的一个项目就用它。。摔)。

  我不喜欢EF的效率,但是它确实和SQL Server无缝集成,NHibernate是个好东西,但是总觉得它做的有点复杂了。所以我给大家推荐Simple Data。

之前我写过一个小系统Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一) 就是用的Simple Data这个ORM工具。它主要是基于.net framework 4.0的Dynamic特性。

这篇文章给大家介绍下Simple Data的增删改查以及使用事务对应的生成SQL的脚本,你会发现它生成的脚本真的是简简单单的SQL语句。所以效率是相当不错的。而且正如它的名字Simple, 使用是相当的简单。

准备工作:

image

这个类和NHibernate或者EF中的数据操作工厂。

新增记录

先看一下新增记录时,使用Dynamic特性来实现的方法。

image

 

直接使用属性和对应的值来插入数据。你不需要再去实例化一个User类,然后给属性赋值。当然Simple Data也支持直接操作一个实体。

image

还支持其它各种插入,例如:

 dynamic user = new ExpandoObject();

对应生成的SQL脚本:

image

 

 

修改记录

image

 

这个也是使用Dynamic特性来进行数据的修改。。。。。同样的也可以使用静态实体来更新对应的记录。

image

 

对应生成的SQL脚本:

image

 

删除记录

最基本的删除方式是我们可以通过Id来删除对应的记录。

image

对应的SQL语句:

image

查询记录

查询可以返回单条记录,或者是返回一个动态的实体或者IEnumerable集合。

image

对应的SQL语句:

image

 

更多的例子和使用有兴趣可以去官网下载代码研究研究哈。真的这个ORM工具很不错。

Cheers