插入数据时指定列,和忽略列对应,未被指定的列将被忽略。

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 自定义特性

转载于:https://www.cnblogs.com/FreeSql/p/11531318.html

FreeSql (八)插入数据时指定列相关推荐

  1. Java笔记-JPA保存数据时指定列不插入提交(CURRENT_TIMESTAMP)

    某些表的某些字段需要设置为当前时间如下: 在Spring Boot中使用JPA保存时如果没设置这个值,会提示这个值不能为NULL. 这里只需要进行这样设置即可: @Column(name = &quo ...

  2. 【SQL开发实战技巧】系列(八):聊聊如何插入数据时比约束更灵活的限制数据插入以及怎么一个insert语句同时插入多张表

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  3. 在Sql2005中,向表中插入数据时遇到uniqueidentifier列,如何插入数据?

    在Sql2005中,向表中插入数据时遇到uniqueidentifier列,如何插入数据? 原文 http://blog.csdn.net/quou2002/article/details/59650 ...

  4. jdbc 3种获得mysql插入数据的自增字段值的方法_【JDBC】向数据表插入数据时,自动获取生成的主键...

    数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...

  5. SQL数据库常用约束及建表、插入数据时注意事项

    1.数据库常用约束 primary key --主键约束 foreign key (references) --外键约束 unique --唯一值约束 default --默认值约束 check -- ...

  6. C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值

    C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值 OleDbParameter param = new OleDbParameter("" ...

  7. mysql插入数据时如果有相同数据就不插入或者替换

    方法1 : insert ignore into       此方法只适用于判断数据库有无相同数据 有就不进行操作,没有就插入 我们知道如果插入数据时如果主键相同 或者有唯一索引之类的列数据相同 如果 ...

  8. oracle exp 无效dblink,【案例】Oracle dblink 数据库连接dblink insert插入数据时异常分析...

    天萃荷净 开发DBA反映在测试数据表插入数据,Oracle dblink两库连接插入同步数据时数据量异常 一.诡异Oracle dblink起源 今天开发拿过来一条sql,说有诡异现象,sql如下 I ...

  9. 【EasyExcel】EasyExcel列表填充数据时指定单元格合并

    EasyExcel列表填充数据时指定单元格合并 package com.susing.security.handler;import com.alibaba.excel.metadata.CellDa ...

最新文章

  1. Mybatis传多个参数(三种解决方案)
  2. 数据结构之二叉搜索树/二叉查找数/有序二叉树/排序二叉树
  3. 我在想,技术博不能荒废
  4. Spring 注解AOP
  5. 【.NET】Repeater控件简单的数据绑定(有bool,日期,序号)
  6. ubuntu下安装zabbix
  7. WebSocket In ASP.NET Core
  8. [css] 请使用css画一个圆,方法可以多种
  9. 从LeNet到AlexNet
  10. 重庆的计算机学校排名2015,2015年计算机考研学校排名
  11. 为什么JavaScript仅在IE中打开开发人员工具一次后才能工作?
  12. laravel中get()与 first()区别、collection与stdClass的区别
  13. jvisualVm用法
  14. python照片处理生成3d模型_【神器】摄影实时建模,用照片生成3D模型
  15. 酒柜设计也可以很“特色”
  16. ABBYY FineReader OCR图片文字识别软件安装应用
  17. 《冒号课堂:编程范式与OOP思想》笔记一
  18. 中间件是什么?通俗易懂的解释
  19. 图像融合之Poisson融合及其改进
  20. 现实世界的补丁长什么样? [ICSME 18] A Closer Look at Real-World Patches (结尾附论文阅读反思)

热门文章

  1. python编辑器spyder运行_使用spyder编译器单步调试python
  2. REVERSE-PRACTICE-BUUCTF-20
  3. 【HDU - 6349】三原色图(最小生成树,思维,tricks)
  4. 【HDU - 5881】Tea(思维,找规律)
  5. 【牛客 - 370H】Rinne Loves Dynamic Graph(分层图最短路)
  6. linux桌面变成黑白,用虚拟机装了linux后开启为什么界面是黑色的呢?
  7. 遍历这些字符串,如果字符串没有包含数字的,就将字符串中的小写字母转成大写字母并打印字符串
  8. 通过反射突破private访问修饰符获取私有和公共的属性,设置和获取值
  9. .写一个方法 void printScore(int score),输出相应的等级。score代表分数,等级格式如下:
  10. linux tee 重定向_快乐的linux命令行-重定向