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

     

  • 相关阅读:
    微信小程序中showToast 提示
    微信小程序传code 拿token 后台报40029 状态吗,是为什么?
    双语开发思路
    input的number类型只能输入正数,禁止负数输入
    css全站字体,中文英文不同,粗细统一
    截取字符,超出的用省略号代替js实现 substring
    导航切换悬浮最上层
    VUE常用写法
    支付问题回调跳不过去问题
    窗口打开方式
  • 原文地址:https://www.cnblogs.com/sunjie9606/p/2168494.html
Copyright © 2011-2022 走看看