update

28810
2019-11-13 16:18:10 +08:00
parent 71660e13d0
commit 45c75bdbf7
2 changed files with 8 additions and 15 deletions

@@ -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)

@@ -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 | 执行,返回影响的行数 |