diff --git a/更新日志.md b/更新日志.md index bbaac1a..9d7dc1e 100644 --- a/更新日志.md +++ b/更新日志.md @@ -1,6 +1,10 @@ 完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。 +## v0.12.1(预告) + +- 增加 PostgreSQL 特有功能 On Conflict Do Update 功能,[wiki](https://github.com/2881099/FreeSql/wiki/%e6%b7%bb%e5%8a%a0%e6%88%96%e4%bf%ae%e6%94%b9); + ## v0.11.11 - 增加 MySql 特有功能 On Duplicate Key Update 功能,[wiki](https://github.com/2881099/FreeSql/wiki/%e6%b7%bb%e5%8a%a0%e6%88%96%e4%bf%ae%e6%94%b9); diff --git a/添加或修改.md b/添加或修改.md index 1a86adc..42c4eaf 100644 --- a/添加或修改.md +++ b/添加或修改.md @@ -1,6 +1,6 @@ FreeSql 提供了多种插入或更新方法,v0.11.11 之前主要使用 FreeSql.Repository/FreeSql.DbContext 库提供的方法实现。 -# FreeSql.Repository 之 InsertOrUpdate +## FreeSql.Repository 之 InsertOrUpdate 此方法与 FreeSql.DbContext AddOrUpdate 方法功能一样。 @@ -17,7 +17,7 @@ repo.InsertOrUpdate(实体); 缺点:不支持批量操作 -# MySql 特有功能 On Duplicate Key Update +## MySql 特有功能 On Duplicate Key Update FreeSql.Provider.MySql 和 FreeSql.Provider.MySqlConnector 在 v0.11.11 版本已支持 MySql 特有的功能,On Duplicate Key Update。 @@ -74,9 +74,9 @@ fsql.Insert(item) 当 insert 部分中不存在的列,在 update 中将为常量形式设置,当操作实体数组的时候,此常量为 case when ... end 执行(与 IUpdate 一样); -# PostgreSQL 特有功能 ON CONFLICT(id) DO UPDATE +## PostgreSQL 特有功能 On Conflict Do Update -FreeSql.Provider.PostgreSQL 在 v0.11.11 版本已支持 PostgreSQL 9.5+ 特有的功能,On Conflict(id) Do Update。 +FreeSql.Provider.PostgreSQL 在 v0.12.1 版本已支持 PostgreSQL 9.5+ 特有的功能,On Conflict(id) Do Update。 使用方法 MySql OnDuplicateKeyUpdate 大致相同。 @@ -106,14 +106,3 @@ fsql.Insert(items) //WHEN 201 THEN '2000-01-01 00:00:00.000000' //WHEN 202 THEN '2000-01-01 00:00:00.000000' END::timestamp ``` - -OnConflictDoUpdate() 之后可以调用的方法: - -| 方法名 | 描述 | -| -- | -- | -| IgnoreColumns | 忽略更新的列,机制和 IUpdate.IgnoreColumns 一样 | -| UpdateColumns | 指定更新的列,机制和 IUpdate.UpdateColumns 一样 | -| Set | 手工指定更新的列,与 IUpdate.Set 功能一样 | -| SetRaw | 作为 Set 方法的补充,可传入 SQL 字符串 | -| ToSql | 返回即将执行的 SQL 语句 | -| ExecuteAffrows | 执行,返回影响的行数 | \ No newline at end of file