插入数据时指定列,和忽略列对应,未被指定的列将被忽略。
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10";IFreeSql fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, connstr).UseAutoSyncStructure(true) //自动同步实体结构到数据库.Build();[Table(Name = "tb_topic")]
class Topic {[Column(IsIdentity = true, IsPrimary = true)]public int Id { get; set; }public int Clicks { get; set; }public string Title { get; set; }public DateTime CreateTime { get; set; }
}var items = new List<Topic>();
for (var a = 0; a < 10; a++) items.Add(new Topic { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100 });忽略列
fsql.Insert<Topic>(items).InsertColumns(a => a.Title).ExecuteAffrows();执行SQL如下:
INSERT INTO `tb_topic`(`Title`) VALUES(?Title0), (?Title1), (?Title2), (?Title3), (?Title4), (?Title5), (?Title6), (?Title7), (?Title8), (?Title9)fsql.Insert<Topic>(items).InsertColumns(a =>new { a.Title, a.Clicks }).ExecuteAffrows();执行SQL如下:
INSERT INTO `tb_topic`(`Clicks`, `Title`) VALUES(?Clicks0, ?Title0), (?Clicks1, ?Title1), (?Clicks2, ?Title2), (?Clicks3, ?Title3), (?Clicks4, ?Title4), (?Clicks5, ?Title5), (?Clicks6, ?Title6), (?Clicks7, ?Title7), (?Clicks8, ?Title8), (?Clicks9, ?Title9)API
| 方法 | 返回值 | 参数 | 描述 | 
|---|---|---|---|
| AppendData | <this> | T1 | IEnumerable | 追加准备插入的实体 | 
| InsertIdentity | <this> | 无 | 指明插入自增列 | 
| InsertColumns | <this> | Lambda | 只插入的列 | 
| IgnoreColumns | <this> | Lambda | 忽略的列 | 
| WithTransaction | <this> | DbTransaction | 设置事务对象 | 
| ToSql | string | 返回即将执行的SQL语句 | |
| ExecuteAffrows | long | 执行SQL语句,返回影响的行数 | |
| ExecuteIdentity | long | 执行SQL语句,返回自增值 | |
| ExecuteInserted | List<T1> | 执行SQL语句,返回插入后的记录 | 
系列文章导航
- (一)入门 
- (二)自动迁移实体 
- (三)实体特性 
- (四)实体特性 Fluent Api 
- (五)插入数据 
- (六)批量插入数据 
- (七)插入数据时忽略列 
- (八)插入数据时指定列 
- (九)删除数据 
- (十)更新数据 
- (十一)更新数据 Where 
- (十二)更新数据时指定列 
- (十三)更新数据时忽略列 
- (十四)批量更新数据 
- (十五)查询数据 
- (十六)分页查询 
- (十七)联表查询 
- (十八)导航属性 
- (十九)多表查询 
- (二十)多表查询 WhereCascade 
- (二十一)查询返回数据 
- (二十二)Dto 映射查询 
- (二十三)分组、聚合 
- (二十四)Linq To Sql 语法使用介绍 
- (二十五)延时加载 
- (二十六)贪婪加载 Include、IncludeMany、Dto、ToList 
- (二十七)将已写好的 SQL 语句,与实体类映射进行二次查询 
- (二十八)事务 
- (二十九)Lambda 表达式 
- (三十)读写分离 
- (三十一)分区分表 
- (三十二)Aop 
- (三十三)CodeFirst 类型映射 
- (三十四)CodeFirst 迁移说明 
- (三十五)CodeFirst 自定义特性