当前位置: 移动技术网 > IT编程>开发语言>.net > Farseer.net轻量级开源框架 入门篇:添加数据详解

Farseer.net轻量级开源框架 入门篇:添加数据详解

2018年03月17日  | 移动技术网IT编程  | 我要评论
这里的话,还是拿Users实体类来讲解在我们框架的几种添加方式。   Insert的几种方式 1         Users
这里的话,还是拿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("张三")

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网