现在大家做项目,肯定很多人都在用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, 使用是相当的简单。
准备工作:
这个类和NHibernate或者EF中的数据操作工厂。
新增记录:
先看一下新增记录时,使用Dynamic特性来实现的方法。
直接使用属性和对应的值来插入数据。你不需要再去实例化一个User类,然后给属性赋值。当然Simple Data也支持直接操作一个实体。
还支持其它各种插入,例如:
dynamic user = new ExpandoObject();
对应生成的SQL脚本:
修改记录:
这个也是使用Dynamic特性来进行数据的修改。。。。。同样的也可以使用静态实体来更新对应的记录。
对应生成的SQL脚本:
删除记录:
最基本的删除方式是我们可以通过Id来删除对应的记录。
对应的SQL语句:
查询记录:
查询可以返回单条记录,或者是返回一个动态的实体或者IEnumerable集合。
对应的SQL语句:
更多的例子和使用有兴趣可以去官网下载代码研究研究哈。真的这个ORM工具很不错。
Cheers