zoukankan      html  css  js  c++  java
  • Farseer.net轻量级开源框架 入门篇:添加数据详解

    导航

    目   录:Farseer.net轻量级开源框架 目录

    上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层

    下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解

    前面讲的大多数是原理及说明,大家在理解上会比较枯燥,接下来的几篇,倾向于实战,会比较有意思些。

     这里的话,还是拿Users实体类来讲解在我们框架的几种添加方式。

    Insert的几种方式
    1         Users info = new Users();
    2         info.UserName = "张三";
    3         Users.Data.Insert(info);
    1         new Users() { UserName = "张三" }.Insert();

    两种方式都可以实现对数据的添加操作。

    第二种方式实际也是执行第一种的过程。只不过是做了扩展方法。

    Insert的重载版本
     1         /// <summary>
     2         ///     插入数据
     3         /// </summary>
     4         /// <param name="info">已赋值的实体</param>
     5         /// <param name="db">可传入事务的db</param>
     6         public bool Insert(TInfo info, DbExecutor db = null);
     7 
     8         /// <summary>
     9         ///     插入数据
    10         /// </summary>
    11         /// <param name="info">已赋值的实体</param>
    12         /// <param name="db">可传入事务的db</param>
    13         /// <param name="identity">标识,刚插入的ID</param>
    14         public bool Insert(TInfo info, out int identity, DbExecutor db = null);

    上面演示的,实质上是第一个方法。而第二个方法。多了一个参数:out int identity

    将在插入数据库时,把自增ID返回到这个参数来。

    需要注意的是:实际上第一种也返回了自增值。只是这个值是放在了 info.ID中。

    SqlServer的特性批量添加操作
    1         // 批量插入数据。(仅支持Sql Server)
    2         var lst = new List<Users>();
    3         lst.Add(new Users());
    4         lst.Add(new Users());
    5         lst.Add(new Users());
    6         lst.Add(new Users());
    7         Users.Data.SqlBulkCopy(lst);
    框架约定

    当属性未赋值时,也就是属性为null时。是不会产生对应的字段SQL的。

    如:

    1 new Users() { UserName = "张三" }.Insert();

    Users实体实际上还有很多字段,比如PassWord、GenderType、LoginCount等等。

    因为我们没有对其赋值,则为null 所以。数据库是不会对其进行赋值的。也就是等价的SQL为:

    1 insert into Members_User (UserName)Values("张三")
    导航

    目   录:Farseer.net轻量级开源框架 目录

    上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层

    下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解

    广告时间

    QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net

    Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。

    Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。

    ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)

    Farseer.Net的目标是:快速上手、快速开发、简单方便。

    1 new User { ID = 1, Name = "张三" }.Insert()
  • 相关阅读:
    react-router-dom中的BrowserRouter和HashRouter,link与Navlink
    在React中使用react-router-dom路由
    详解react中的state,props,refs
    简单明了的vuex详解
    暂时性死区
    es6中的块级作用域
    es6的let
    前端模块化
    Web框架
    百分比布局 双飞翼布局 圣杯布局
  • 原文地址:https://www.cnblogs.com/steden/p/4075765.html
Copyright © 2011-2022 走看看