FreeSql

🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, QuestDB orm, MsAccess orm.

MIT License

Stars
3.9K
Committers
39

Bot releases are hidden (Show)

FreeSql - v2.5.100

Published by 2881099 over 3 years ago

  • 增加 ISelect.Page(BasePagingInfo pagingInfo) 方法重载;
  • 修复 IncludeMany + AsTreeCte 不能组合使用的问题;#760
  • 修复 Ado.CommandFluent 存储过程参数化问题;#739
  • 修复 IUpdate.SetDto bug;#754
  • 修复 pgsql 中 hstore 中 value 错误赋值为 key 的问题,并允许 value 值为 NULL;
  • 修复 byte[]类型的乐观锁初始化问题;
FreeSql - v2.3.200

Published by 2881099 over 3 years ago

  • 修复 Repository/DbContext 批量修改可能无效的 bug;#709
  • 修复 Oracle/Dameng 分组查询后分页的 bug;#710
  • 优化 fsql.Transaction 线程事务;
FreeSql - v2.3.106

Published by 2881099 over 3 years ago

  • 修复 v2.3.100 GlobalFilter 在 Repository 失效的 bug;
  • 增加 IUpdate.SetSource 批量更新时指定主键;#337
FreeSql - v2.3.100

Published by 2881099 over 3 years ago

  • 增加 FreeSql.Provider.Custom 自定义适配访问任何数据库;
  • 增加 Column 特性 RewriteSql/RereadSql;
  • 增加 ISelect.OrderByRandom() 随机排序适配;
  • 增加 SqlExt.DistinctCount 扩展方法;#674 #533
  • 增加 Aop Before/After States 共享状态;
  • 优化 ManyToMany 导航属性子查询支持 ToList;
  • 优化 HzyTuple 子查询解析;
  • 优化 指定 Dto 查询对 c# 字段的支持;
  • 优化 GlobalFilter 子查询传播重复的问题;#642
  • 优化 Console.Write 平台兼容问题;#643
  • 优化 DbSet/Repository 级联保存时,忽略未配置的导航属性;
  • 优化 FreeSql.Extensions.Linq Select 选定字段查询方法;#674 #533
  • 优化 Repository.DataFilter 可禁用 GlobalFilter;
  • 优化 WhereDynamicFilter;
  • 修复 延时属性时级联保存失败的 bug;
  • 修复 分组查询后,无法使用子查询的问题;
  • 修复 UseGenerateCommandParameterWithLambda + Enum + MapType(string) bug;
  • 修复 ToChunk + IncludeMany 二级集合属性的 bug;
  • 修复 JsonMap 序列化判断 bug;
  • 修复 Sqlite DbFirst 获取自增的 bug;
  • 修复 Oracle DbFirst date 类型 bug;#627
  • 修复 ISelect2`16 OrderByIf bug;
  • 修复 神通 Linux not supported 问题;#656
  • 修复 WhereDynamicFilter 普通多表查询时别名判断的 bug;
  • 修复 AsTreeCte 事务传播 bug;
  • 修复 表达式树解析 MapType 把小数位转换丢失的 bug;
  • 修复 SqlServer 支持 Chinese_PRC_CS_AS 区分小大写;#684
FreeSql - v2.0.105

Published by 2881099 almost 4 years ago

  • 修复 Ado.Net 扩展方法的多表查询 bug;#592
  • 优化 ToSql 别名大小写问题;#467
  • 优化 IUnitOfWork/DbContext/Repository .Orm.Ado 和 CRUD 都与自身事务保持一致;
  • 完善 IDelete WhereIf(bool, sql) 方法;
FreeSql - v2.0.102

Published by 2881099 almost 4 years ago

以后每三个月一次版本号:2.3/2.6/2.9,修复严重 bug 会发布 2.3.x

v2.0 升级说明

避免每天 StringLength -1 问题多次解答,特别发布版本 v2.0.102

  • 优化 DbFirst 模式长内容未设置 StringLength = -1 写入问题;
  • 优化 子查询(多表)别名;
  • 优化 IUpdate.Set 支持位运算表达式树解析;
  • 优化 单表查询 ExpressionTree 性能;
  • 修复 ISelect.InsertInto 设置别名时无法使用的错误;#576
FreeSql - v2.0.101

Published by 2881099 almost 4 years ago

以后每三个月一次版本号:2.3/2.6/2.9,修复严重 bug 会发布 2.3.x

v2.0 升级说明

  • 增加 IncludeByPropertyName 按属性名进行 Include/IncludeMany 操作;#278
  • 增加 ISelect<...> 多表查询 HzyTuple 新姿势;(感谢 HZY 贡献)
  • 增加 ISelect Cancel 用于取消本次查询;
  • 增加 IncludeIf/IncludeByPropertyNameIf 方法;
  • 增加 表达式树函数解析 byte[] Length;#505
  • 增加 FreeSql Async CancellationToken 参数;#537
  • 增加 FreeSql.DbContext/Repository Async CancellationToken 参数;#537
  • 增加 Oracle/达梦 BulkCopy 支持;
  • 增加 IsVersion 对 byte[] 的支持;#548
  • 增加 IN 参数扩展 where id in @ids;#560
  • 增加 IAdo.QuerySingle 查询单条记录;#560
  • 增加 pgsql 表达式树解析 hstore[""];

  • 优化 varchar/nvarchar 的 NoneParameter 处理;#519
  • 优化 表达式树 SqlExt.IsNull 对布尔类型的解析;#500
  • 优化 MapRead 对 NULL 字段的处理;
  • 优化 表达式树三元表达式解析,当 Test 为变量时不解析成 case when end;
  • 优化 AsTreeCte 对 MySql 5.6 的兼容;#536
  • 优化 分页 Page(..).Count() 顺序问题;
  • 优化 自动 IsIgnore 处理;
  • 移除 ISelect<T>/IUpdate<T>/IDelete<T> class 约束限制;

  • 修复 线程事务嵌套事务的 bug;#502
  • 修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521
  • 修复 实体类拥有构造参数时,ToList<DTO> 映射查询无效的 bug;
  • 修复 FreeSql.Generator 处理 SqlServer 默认值的问题;
  • 修复 SqlServer RowNumber 分页有可能产生顺序不对的 bug;
  • 修复 .net5 单文本部署读取注释报错;
FreeSql - v1.10.3

Published by 2881099 almost 4 years ago

  • 修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521

如果使用了 Aop.AuditValue,批量更新的时候遇到 Object reference not set to an instance of an object 错误,请升级。

FreeSql - v1.9.1

Published by 2881099 almost 4 years ago

  • 修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521

如果使用了 Aop.AuditValue,批量更新的时候遇到 Object reference not set to an instance of an object 错误,请升级。

FreeSql - v1.8.2

Published by 2881099 almost 4 years ago

  • 修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521

如果使用了 Aop.AuditValue,批量更新的时候遇到 Object reference not set to an instance of an object 错误,请升级。

FreeSql - v1.10.1

Published by 2881099 almost 4 years ago

  • 增加 ISelect.InsertInto 将查询转换为 INSERT INTO t1 SELECT ... FROM t2 执行插入;#469
  • 增加 GlobalFilter.ApplyOnly 继承的实体才生效;#495
  • 增加 FreeSql.Generator 参数 -readkey 0 的设置;

  • 优化 WhereDynamicFilter 支持 string 比较大小 > < >= <=;#479
  • 优化 IncludeMany 筛选字段中未指定主键,并且 then.IncludeMany 继续向下,则自动附加查询主键;
  • 优化 WhereDynamic 传入 DynamicFilterInfo 也能执行;
  • 优化 WhereDynamic 支持按字段名、属性名匹配;
  • 优化 实体类注释,基类在其他 Assembly 时也能读取;
  • 优化 支持实体类使用 new 重写属性;
  • 优化 ToAggregate 执行时忽略已设置的 OrderBy;
  • 优化 dto 映射查询时忽略已指定的映射,避免重复查询字段;#494
  • 优化 MySql CodeFirst 索引的建立 ;#498
  • 补充 异步方法 ToListAsync(a => {}) 对 IncludeMany 的支持;

  • 修复 AsTreeCte 开启自动迁移时,错误的创建了 as_tree_cte 表;#476
  • 修复 内部 decimal 默认值在 core 3.1+ 报错的问题;
  • 修复 decimal? 可空数字设置 Column Scale 无效的问题(decimal正常);
  • 修复 DbContext/UnitOfWork EntityChangeReport 参数 BeforeObject 值无效的 bug;
  • 修复 lambda 表达式解析变量转换时的 bug;#490
  • 修复 Firebird Embedded 版本系统表 isidentity_type 兼容问题;
  • 修复 Firebird Embedded 2.5 不支持 boolean 的 bug;
FreeSql - v1.9.0

Published by 2881099 about 4 years ago

  • 增加 FreeSql.Provider.Firebird 数据库实现 #443;
  • 增加 IncludeMany(a => a.Childs).ToList(a => new { a.Childs }) 指定集合属性返回;
  • 增加 ISelect<11..16> 16 个联表查询;
  • 增加 ISelect Aggregate(lambda, out var result) 方法;
  • 增加 ISelect OrderByIf 方法 #446;
  • 增加 ISelect OrderByPropertyName 方法 #446 #278 #361 #197;
  • 增加 IUpdate/IDelete WhereIf 方法 #446;
  • 增加 ISelect/IInsert/IUpdate/IDelete CommandTimeout 方法设置命令超时;
  • 增加 GlobalFilter.ApplyIf 创建动态过滤器;
  • 增加 SqlExt.IsNull 方法;
  • 增加 Oracle DbFirst 视图的支持;
  • 增加 IAdo.CommandFluent(sql) 方法执行 SQL 命令;

  • 优化 string IsNullable = false 时插入 null 自动转为 "" #445;
  • 优化 GetDbParamtersByObject 参数为字典时修剪 @?: 前辍 #456;
  • 优化 SqlExt.Sum/Max/Min/Avg 同时支持开窗或普通聚合函数;
  • 优化 ToSql FieldAliasOptions.AsProperty 别名问题;#467
  • 优化 FreeSql.Generator -Match 支持生成一个表;
  • 调整 FreeSql.Generator 移除 CanInsert = false 特性生成;
  • 调整 AdoNet CRUD 扩展方法到 namespace FreeSql;
  • 修正 SqlServer UseConnectionFactory 类型标识;
  • 补充 达梦 DbFirst int 类型识别;

  • 修复 FreeSql.DbContext 对同一实体重复 Update,第二次无效的 Bug
  • 修复 ISelect Any(lambda) 条件被附加的问题,不便于再次使用 ISelect 对象;
  • 修复 ISelect ToDelete/ToUpdate 事务对象未传播的 bug;
  • 修复 ISelect Include 多表字段名相同(不区分大小时)时的 bug;
  • 修复 IAdo.Query 返回实体中带有延时导航属性,读取顺序不对的 bug
  • 修复 Ado.Net Crud 扩展方法事务的友好异常提示;
  • 修复 使用查询参数化功能时 ToList 子查询未传播参数列表的 bug;#462
  • 修复 子查询 Count/Max/Min/Avg/Sum 使用了 Limit(1) 的 bug;#462
  • 修复 IAdo.Query<匿名类>(sql) 错误;
  • 修复 SqlServer SqlBulkCopy IgnoreColumns 无效的 bug;
  • 修复 达梦 DbFirst 获取字段 IsNullable 无效的问题;#454
FreeSql - v1.8.1

Published by 2881099 about 4 years ago

  • 增加 人大金仓 Ado.Net 实现 FreeSql.Provider.KingbaseES #325;
  • 增加 DbContext/Repository BeginEdit/EndEdit 批量编辑数据的方法 #397;
  • 增加 FreeSql.Provider.SqlServerForSystem 使用 System.Data.SqlClient.dll 兼容更多运行平台 #401 #398 #395 #392 #391;
  • 增加 lambda 表达式树解析子查询 ToList + string.Join() 产生 类似 group_concat 的效果(适配了 sqlserver/pgsql/oracle/mysql/sqlite/达梦/金仓) #405;
  • 增加 IDbFirst.ExistsTable 方法判断表是否存在;
  • 增加 IDbFirst.GetTableByName 方法获取单表信息,包括列详情、主键、唯一键、索引、备注;
  • 增加 ICodeFirst.SyncStructure 强制同步参数 isForceSync #412;
  • 增加 ISelect<2..10> 多表 WithSql 方法;
  • 增加 IDbConnection/IDbTransaction 对象的扩展方法 Select/Insert/Update/Delete 实现 CRUD #267;
  • 增加 IAdo.GetDbParamtersByObject 方法获取 DbParameter[];
  • 增加 IAdo.ExecuteConnectTest 快速判断连接是否可用 #113;
  • 增加 Aop.AuditDataReader 事件拦截 DataReader 读取值 #436;

  • 修复 fsql.InsertOrUpdate 在同线程事务模式内使用的 bug #402;
  • 修复 fsql.Ado.ExecuteDataTable 当记录不存在时,未返回 Columns 设置 #403;
  • 修复 IInsert/IUpdate BatchProgress 异步执行不生效的 bug;
  • 修复 1.7.1 IsNullable 遗留问题;
  • 修复 Oracle nvarchar2 主键批量更新的问题;#411
  • 修复 达梦 DbFirst 无法识别字段是否为主键的问题;
  • 修复 SqlExt PartitionBy 无法传入多列的问题;
  • 修复 WhereDynamicFilter System.Text.Json 反序化后的类型转换问题 #371;
  • 修复 ISelect ToList<T>("id,title") 属性和字段顺序不同时的问题;
  • 修复 Dto 映射查询属性名不区分大小写 bug #427;
  • 修复 参数化 Column DbType 设置特殊值时的类型判断;
  • 修正 UnitOfWorkManager Requierd 命名为 Required;

  • 优化 pgsql DbFirst 序列的识别,以及 pgsql10 的自增识别;
  • 优化 IsNullable = false 插入的数据值为 null 则以默认值插入(防止DB报错) #384;
  • 优化 GroupBy ToList lambda 中可以直接使用 a.Key;
  • 优化 NoneParameter Oracle 文本超长的问题;
  • 优化 lambda 使用 a == null ? 1 : 0 支持类似这样直接判断实体的情况;
  • 优化 IUpdate.SetSource 机制不更新主键字段;
  • 优化 IUpdate.SetSource 无主键的错误提示;
  • 优化 WhereDynamic 传入集合对象时,逻辑 OR 换为 IN;
  • 优化 指定导航属性查询时,如果下级导航属性被 Include 过,则将他们也查询出来;
  • 完善 AsTreeCte + ToUpdate/ToDelete 实现树所有子节点删除或更新;
  • 完善 DbUpdateVersionException IsVersion 行版本异常;
  • 完善 DbContext/UnitOfWork EntityChange 更新对象之前的值;
  • 完善 ToChunk 分块加载查询,应用到 ISelect`1..10 中;
  • 完善 ISelect<T>.WithSql 方法,支持传入参数化 #413;
FreeSql - v1.7.1 (Microsoft.Data.SqliClient 兼容问题)

Published by 2881099 about 4 years ago

  • 增加 ColumnAttribute Precision/Scale 设置;
  • 增加 "x1".First/FirstOrDefault 表达式函数解析;
  • 调整 ColumnAttribute IsNullable 对 int/long 等值类型也可生效;#384
  • 修复 $"{a.Code}_{a.Id}" lambda 解析当 {} 多于3个时的 bug(.net 内部机制很坑);
  • 3个 {} 时,Arguments[1..3] 解析出来是分开的
  • 4个 {} 时,Arguments[1] 只能解析这个出来,然后 [1] 里面是 NewArray []
  • 补充 fsql.InsertOrUpdate UpdateColumns 数据存在时只更新指定的字段 #394 #330 #115 #17;
FreeSql - v1.7.0

Published by 2881099 about 4 years ago

  • 增加 实体属性 char 类型的映射 #381 #235
  • 增加 $"{a.Code}_{a.Id}" lambda 解析;
  • 增加 IInsert/IUpdate BatchProgress 方法处理批量插入/更新时的进度;
  • 增加 ISelect ToChunk 停止读取的逻辑控制 #360;
  • 增加 FreeSql.Provider.PostgreSQL NetTopologySuite 类型映射,保留 LegacyPostgis 映射 #369;
  • 修复 DbSet/Repository 批量级联保存(ExecuteInserted)失败的问题 #362
  • 修复 多对多导航属性 AsSelect() 无法使用 .Count() 的问题 #362;
  • 修复 WhereDynamicFilter 多级 Logic 未生效的 bug;
  • 修复 WhereDynamicFilter 在 System.Text.Json 下的问题 #371;
  • 修复 pgsql dbfirst 未处理数组类型生成的问题;
  • 修复 dm7 dbfirst SQL 中存在特殊字符的问题;
  • 修复 批量插入的时候报错System.DivideByZeroException #365;
  • 修复 CodeFirst + AsTable + 自动迁移,导致索引名重复的问题 #366;
  • 修复 GroupBy(..).Count() 开启参数化无效的 bug #390; UseGenerateCommandParameterWithLambda
  • 补充 fsql.InsertOrUpdate IfExistsDoNothing 数据存在时不做任何事(不更新)
  • 补充 Ado.ExecuteDataTable Columns 包含 DataType 信息;
  • 补充 EFCore StringLengthAttribute/DatabaseGeneratedAttribute 特性的支持;
  • 补充 FreeSql.Extensions.Linq ThenBy/ThenByDescending 扩展方法 #380;
  • 优化 FreeSql.Generator 生成实体类的时候处理数据库默认值;
  • 调整 FreeSql.Provider.SqlServer 引用Microsoft.Data.SqlClient #391

v1.7.0 版本调整说明

FreeSql - v1.6.0

Published by 2881099 over 4 years ago

  • 增加 人大金仓 OdbcKingbaseES 实现;#325
  • 增加 神州通用 ShenTong 实现;
  • 增加 WhereDynamicFilter 操作符 Range/DateRange/Any/NotAny,实现范围/日期范围/In查询;
  • 增加 ISelect.AsTreeCte() 递归查询树表(向下或向下);
  • 增加 IUnitOfWork Orm 属性直接访问 IFreeSql CRUD 事务与工作单元一致;
  • 增加 SqlExt 常用开窗函数的自定义表达式解析;
  • 增加 SqlExt.Case().When(..).End() 自定义表达式解析;
  • 增加 SqlExt.GroupConcat MySql 函数解析;
  • 增加 StringLength/MaxLength 对 byte[] 的支持;
  • 修复 IFreeSql.InsertOrUpdate Merge into 未处理 CanUpdate 的问题;#330
  • 修复 IUpdate Set(表达式) MapType 未生效的问题;
  • 修复 表达式 Not 位运算符解析错误;#340
  • 修复 Expression Or/And 扩展方法在多表中可能存在的错误;
  • 修复 IncludeMany 只填充子属性中双向关系的 ManyToOne 对象值;
  • 修复 Select`2-10 ToOne/First 没有处理 Limit(1) 的 bug;
  • 修复 [JsonMap] 属性在 lambda 表达式中解析的 bug;
  • 修复 sqlserver 解析 cast(.. as nvarchar) 截断长度 30 的问题;#335
  • 优化 mysql StringLength/MaxLength -2 产生 LongText 映射;
  • 优化 兼容 pgsql 9.4 CodeFirst/DbFirst;
  • 优化 sqlserver 表中带点 codefirst;
  • 测试 支持 mysql json 类型;
FreeSql - v1.5.0

Published by 2881099 over 4 years ago

FreeSql 1.5.0 最新版本(番号:好久不见)

  • 修复 non public ctor #291;
  • 修复 浮点类型 NoneParameter 不使用科学字符串表示;
  • 修复 IgnoreColumns 相关方法解析表达式 a => new [] { "Id" .. } 无效的 bug;
  • 修复 Column(ServerTime=xxx) MySql 下无法保留精度的问题;
  • 修复 ISelect.ToDataTable(lambda) 未使用 AsProperty 返回数据;
  • 修复 IUpdate.Set(a => a.xx = null) 表达式解析 bug;#311
  • 修复 Enum 类型无元素时的错误;
  • 增加 IFreeSql.InsertOrUpdate 方法 wiki
  • 增加 ISelect.WhereDynamicFilter 方法实现动态过滤条件(与前端交互)wiki
  • 增加 表达式解析 yyyyMMdd 常用 c# 日期格式化;
  • 增加 WhereCascade/GlobalFilter 表达式子查询的支持;
  • 增加 [Description] 元数据注释,优先级低于 c# 代码注释;
  • 增加 IUpdate.SetIf 方法;
  • 增加 IUpdate.SetSourceIgnore 方法,可实现忽略 null 属性的更新;
  • 增加 FreeSqlBuilder.UseExitAutoDisposePool 方法;
  • 优化 Guid GetDefaultValue 可能导致的错误;
  • 优化 移除 fsql.Transaction 线程事务超时提交机制;#323
  • 调整 BaseEntity,移除 BaseTreeEntity、Tenant 租户,改变事务习惯 wiki

v1.5.0 版本调整说明

FreeSql - v1.4.0

Published by 2881099 over 4 years ago

  • 增加 FreeSql.Provider.Dameng 基于 DmProvider Ado.net 访问达梦数据库;
  • 增加 FreeSql.DbContext OnModelCreating 虚方法,实现在 DbContext 使用 FluentApi;
  • 增加 FreeSql.DbContext 与 EFCore 相似的 FluentApi 对动态类型的处理;#281
  • 移除 FreeSql.Extensions.EfCoreFluentApi,功能移至 FreeSql.DbContext;
  • 增加 FreeSqlBuilder 自动识别 EFCore 实体特性 Key/Required/NotMapped/Table/Column;
  • 增加 IInsert InsertColumns/IgnoreColumns 方法重载输入 string[];#275
  • 增加 DbFirst 获取字段的默认值信息;
  • 增加 FreeSql.Generator -Match 参数只生成匹配的表;
  • 增加 FreeSql.Extensions.JsonMap FluentApi 扩展方法;#279
  • 增加 DbFirst DbColumnInfo Position 属性,字段默认位置;
  • 增加 UnitOfWorkManager 工作单元管理器,实现多种传播事务,移除 UnitOfWork.Current 静态属性;#289
  • 增加 DbContextOptions.EnableGlobalFilter 设置是否在 DbContext/Repository 中启用全局过滤器(默认 true);
  • 优化 主键 Guid 自动赋值的优先级,低于 Aop.AuditValue 事件(实现自定义 Guid 值);
  • 优化 WhereDynamic 传入 string 的时候自动转为主键的类型值;
  • 修复 ISelect.From 内部 WhereIf 二次表达式解析 bug;
  • 修复 Guid -> MapType(string) 在 FreeSql.DbContext 的类型转换错误;
  • 修复 表达式解析 Include 父子导航可能失败的 bug;
  • 修复 实体类型为 char 时 ExpressionTree 读取失败 bug;#283
  • 修复 IncludeMany 集合属性为 a.xx.Childs 时,可能出现错误;

v1.4.0 版本调整说明(包含v1.3.6+)

FreeSql - v1.3.6

Published by 2881099 over 4 years ago

  • 优化 DbContext/Repository Orm 属性进行 CURD 与自身事务相同【新突破】;#270
  • 修复 MySql 字符串反斜杠无效的 bug
  • 修复 ExpressionCall 自定义表达式枚举类型入参转换出错;#269
  • 修复 Oracle/Dameng 登陆名为数字开始 pk 命名问题;
  • 增加 GroupBy Count(b.id) 指定字段统计;
  • 增加 GroupBy ToDictionary 返回字段的查询方法,TKey 为 GroupBy 选择的对象;
  • 调整 GroupBy 所有方法不使用 DTO 映射规则;
  • 调整 IUpdate.SetDto 也支持 IgnoreColumns 的逻辑;
  • 调整 ISelect linq to sql 和 queryable 实现依赖移至 FreeSql.Extensions.Linq;
FreeSql - v1.3.5

Published by 2881099 over 4 years ago

  • 修复 IncludeMany 第3层无法加载的问题,IncludeMany(a => a.Parent.Parent.Childs);
  • 修复 PostgreSQL CodeFirst/DbFirst 系统表的版本兼容问题;
  • 增加 EfCoreFluentApi HasData 设定 CodeFirst 种子数据;
  • 增加 DbContextOptions.NoneParameter 设置是否使用参数化执行 Insert/Update;