首页 > 代码库 > 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轻量级开源框架 入门篇:添加数据详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。