类别:学习文档
日期:2021-07-14 浏览:2078 评论:0
FreeSql是功能强大的 .NET ORM,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。
插入数据时指定列,未被指定的列将被忽略。
var connectionString = "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, connectionString) .UseAutoSyncStructure(true) //自动同步实体结构到数据库 .Build(); //请务必定义成 Singleton 单例模式 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 | 忽略的列 |
CommandTimeout | <this> | int | 命令超时设置(秒) |
WithTransaction | <this> | DbTransaction | 设置事务对象 |
WithConnection | <this> | DbConnection | 设置连接对象 |
ToSql | string | 返回即将执行的SQL语句 | |
ExecuteAffrows | long | 执行SQL语句,返回影响的行数 | |
ExecuteIdentity | long | 执行SQL语句,返回自增值 | |
ExecuteInserted | List<T1> | 执行SQL语句,返回插入后的记录 | |
ExecuteSqlBulkCopy | void | SqlServer 特有的功能,执行 SqlBulkCopy 批量插入的封装 | |
ExecutePgCopy | void | PostgreSQL 特有的功能,执行 Copy 批量导入数据 |
系列文章导航
FreeSql (一)入门及安装 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二)自动迁移实体 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三)实体特性 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (四)实体特性 Fluent Api - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (五)插入数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (六)批量插入数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (七)插入数据时忽略列 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (八)插入数据时指定列 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (九)删除数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十)更新数据 - 学习文档 - 零一的世界 (vtzw.com)FreeSql (十一)更新数据 Where - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十二)更新数据时指定列 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十三)更新数据时忽略列 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十四)批量更新数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十五)查询数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十六)分页查询 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十七)联表查询 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十八)导航属性 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (十九)多表查询 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十)多表查询 WhereCascade - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十一)查询返回数据 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十二)Dto 映射查询 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十三)分组、聚合 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十四)Linq To Sql 语法使用介绍 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十五)延时加载 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十六)贪婪加载 Include、IncludeMany - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十七)将已写好的 SQL 语句,与实体类映射进行二次查询 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十八)事务 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (二十九)Lambda 表达式 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十)读写分离 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十一)分表分库 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十二)Aop - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十三)CodeFirst 类型映射 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十四)CodeFirst 迁移说明 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十五)CodeFirst 自定义特性 - 学习文档 - 零一的世界 (vtzw.com)
FreeSql (三十六)进阶 仓储系列文档 - 学习文档 - 零一的世界 (vtzw.com)
发表评论 / 取消回复