你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Web开发
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("张三")
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089