zoukankan      html  css  js  c++  java
  • 我最喜欢的ORM工具—Simple Data

    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

     

  • 相关阅读:
    HDU5029--Relief grain (树链剖分+线段树 )
    codeforces 277.5 div2 F:组合计数类dp
    FZU2176---easy problem (树链剖分)
    Codeforces Round #277.5 (Div. 2) --E. Hiking (01分数规划)
    FZU 11月月赛D题:双向搜索+二分
    POJ
    POJ
    HDU 4746 Mophues(莫比乌斯反演)
    BZOJ 2005 能量采集 (莫比乌斯反演)
    BZOJ 2301 Problem b (莫比乌斯反演+容斥)
  • 原文地址:https://www.cnblogs.com/sunjie9606/p/2168494.html
Copyright © 2011-2022 走看看