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

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"; static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, connstr)
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
.Build(); //请务必定义成 Singleton 单例模式 [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语句,返回插入后的记录
ExecuteSqlBulkCopy void SqlServer 特有的功能,执行 SqlBulkCopy 批量插入的封装
ExecutePgCopy void PostgreSQL 特有的功能,执行 Copy 批量导入数据

系列文章导航

最新文章

  1. angular1
  2. strlen()和sizeof()求数组长度
  3. 修改iphone联系人头像
  4. python &amp; c
  5. 15个私有云上的DevOps 开源工具
  6. &ldquo;耐撕&rdquo;团队 2016.04.05 站立会议
  7. WPF:定制Checkbox样式,让“正确”绿得好看,让“错误”红的显眼
  8. Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误
  9. js使用CSS将图片转换成黑白(灰色、置灰)
  10. HEOI2016游记
  11. TreeMap简单simple
  12. 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)
  13. 添加三维动画 demo
  14. 所需的防伪表单字段“__RequestVerificationToken”不存在
  15. 一篇文章搞定css3 3d效果
  16. netty基础--基本收发
  17. UNIX网络编程——TCP长连接与短连接的区别
  18. 2. CMake 系列 - 编译多文件项目
  19. 【转】ret,retf,iret的区别
  20. 流式大数据计算实践(5)----HBase使用&amp;SpringBoot集成

热门文章

  1. CODING 告诉你如何建立一个 Scrum 团队
  2. Servlet生成验证码并进行账号密码和验证码的验证登陆!
  3. Promise对象的resolve回调函数和reject回调函数使用
  4. Java网络编程 -- 网络协议
  5. mybatis 源码分析(二)mapper 初始化
  6. Unity进阶之ET网络游戏开发框架 08-深入登录成功消息
  7. maven替换中央仓库,阿里云镜像下载及自定义本地仓库位置
  8. 你不知道的JavaScript之作用域
  9. Spring学习之旅(十三)--使用NoSQL数据库
  10. Unity之SDK接入(OPPO)