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轻量级开源框架 入门篇: 修改数据详解

时间: 2024-10-07 06:13:32

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

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

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 Update的几种方式(基本) 1 Users info = new Users(); 2 info.UserName = "张三"; 3 info.PassWord = "密码"; 4 5 // 指定用户ID为1的的数据进行修改. 6 Users.Data.Wher

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

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 缓存逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 分类逻辑层 分类逻辑层,主要用在一些需要支持无限递归的树数据.树数据是:必须有一个根节点,根节点有无限个子节点,没有节点限制.比如我们常用的有:(频道.xxx分类) 这里与BaseCacheModel的操作是完全一致.唯一不同的是,BaseCateModel是继承自ModelCateInfo.这个类

Farseer.net轻量级开源框架 入门篇:使用前说明

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 框架性能测试 下一篇:Farseer.net轻量级开源框架 入门篇: 增.删.改.查操作演示 本篇讲解使用或者学习Farseer前需要知道一些事项: 在后续很多演示中,使用了很多扩展方法.但作者并没有明确出哪些是扩展的方法.所以读者要注意.在使用框架的时候,都需要引用扩展方法的命名空间:using FS.Extend; 为了方便,扩展方法统一放到FS.Extend中,在这里特别说

Farseer.net轻量级开源框架 入门篇:Where条件的终极使用

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: 事务的使用 这里,我把一些常用Where用到的条件都写在这里,方便大家学习 1 // 这是最常用的 属性判断 2 Users.Data.Where(o => o.ID == 1) 3 Users.Data.Where(o => o.ID > 1) 4 Users.Data.Where(o => o

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

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 相对于修改,删除则简单的多: 1 // 字段值指定 加 1 2 Users.Data.Where(o => o.ID == 1).Delete(); 1 Users.Data.Delete(1); 1 var lst = new List<int> { 1, 2, 3, 4, 5 }; 2

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

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 查询列表的几种方式 1 // 字段值指定 加 1 2 Users.Data.Where(o => o.ID == 1).ToList(); 1 // 查询前10条数据 2 Users.Data.ToList(10); 1 // 批量查询 2 var lst = new List<int> { 1, 2, 3, 4, 5 }; 3 Users.Data.ToL

Farseer.net轻量级开源框架 入门篇:事务的使用中级篇

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: 执行SQL语句 DbExecutor 的使用 使用事务,我们需要用到一个类:DbExecutor 它的命名空间在:FS.Core.Data 中,我们先看下它的参数: 1 /// <summary> 2 /// 构造函数 3 /// </summary> 4 /// <param name=&

Farseer.net轻量级开源框架 入门篇:逻辑层的选择

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 入门篇:增.删.改.查操作演示 下一篇:Farseer.net轻量级开源框架 入门篇: 实体类 当我们创建了一个实体类后,就需要继承其中一个基类:BaseModel.BaseCacheModel.BaseCateModel.只有继承了这三个基类的其中一个时,框架才能对实体建立数据库关系映射(也就是ORM).并且实现了对数据库的CURD的操作. 本框架与其它一些框架不同之处在于,对

Farseer.net轻量级开源框架 中级篇:常用的扩展方法

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: BasePage.BaseController.BaseHandler.BaseMasterPage.BaseControls基类使用 下一篇:Farseer.net轻量级开源框架 中级篇: 常用工具 在使用框架的时候,都需要引用扩展方法的命名空间:using FS.Extend; 1 /// <summary> 2 /// 将值转换成类型对像的值(此方法作为公共的调用,只支持