mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 15:30:53 +08:00
update
@@ -80,9 +80,15 @@ After the execution of the split, when the external transaction is not provided,
|
|||||||
|
|
||||||
FreeSql adapts to the use of parameterization and non-parameterization of each data type. It is recommended to turn off the parameterization function for batch insertion and use `.NoneParameter()` to execute it.
|
FreeSql adapts to the use of parameterization and non-parameterization of each data type. It is recommended to turn off the parameterization function for batch insertion and use `.NoneParameter()` to execute it.
|
||||||
|
|
||||||
## 3. ExecuteSqlBulkCopy, ExecutePgCopy, ExecuteMySqlBulkCopy and ExecuteOracleBulkCopy
|
## 3. BulkCopy
|
||||||
|
|
||||||
Bulk Copy operation is implemented in the form of an extension method. For SqlServer/PostgreSQL/MySql/Oracle databases, the available packages are: FreeSql.Provider.SqlServer/FreeSql.Provider.PostgreSQL/FreeSql.Provider.MySqlConnector/FreeSql.Provider.Oracle.
|
| package name | method | desc |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
### bulk insert test reference (52 fields)
|
### bulk insert test reference (52 fields)
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,13 @@ Disadvantages: does not support batch operations
|
|||||||
|
|
||||||
## 4、BulkCopy
|
## 4、BulkCopy
|
||||||
|
|
||||||
FreeSql.Provider.SqlServer/FreeSql.Provider.Oracle extension method ExecuteSqlBulkCopy/ExecuteOracleBulkCopy, batch inserts or updates are implemented (v3.2.693). Other databases will be supplemented in the future.
|
| v3.2.693 | method | desc |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
Principle: Use BulkCopy to insert data into a temporary table, and then use MERGE INTO to join the table.
|
Principle: Use BulkCopy to insert data into a temporary table, and then use MERGE INTO to join the table.
|
||||||
|
|
||||||
|
|||||||
@@ -300,9 +300,13 @@ SET a.`bcode` = b.`xcode`
|
|||||||
|
|
||||||
## 12、BulkCopy Batch Update
|
## 12、BulkCopy Batch Update
|
||||||
|
|
||||||
FreeSql.Provider.SqlServer、FreeSql.Provider.MySqlConnector、FreeSql.Provider.PostgreSQL、FreeSql.Provider.Oracle
|
| v3.2.693 | method | desc |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
The extension methods ExecuteSqlBulkCopy, ExecuteMySqlBulkCopy, ExecutePgCopy, And ExecuteOracleBulkCopy are implemented to implement batch update (v3.2.693)
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
Principle: Use BulkCopy to insert data into the temporary table, and then use UPDATE FROM JOIN to update the associated table.
|
Principle: Use BulkCopy to insert data into the temporary table, and then use UPDATE FROM JOIN to update the associated table.
|
||||||
|
|
||||||
|
|||||||
10
修改.md
10
修改.md
@@ -303,9 +303,13 @@ SET a.`bcode` = b.`xcode`
|
|||||||
|
|
||||||
## 12、BulkCopy 批量更新
|
## 12、BulkCopy 批量更新
|
||||||
|
|
||||||
FreeSql.Provider.SqlServer、FreeSql.Provider.MySqlConnector、FreeSql.Provider.PostgreSQL、FreeSql.Provider.Oracle
|
| v3.2.693 | 扩展方法 | 说明 |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
分别实现了扩展方法 ExecuteSqlBulkCopy、ExecuteMySqlBulkCopy、ExecutePgCopy、ExecuteOracleBulkCopy 实现批量更新(v3.2.693)
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
原理:使用 BulkCopy 将数据插入到临时表,再使用 UPDATE FROM JOIN 联表更新。
|
原理:使用 BulkCopy 将数据插入到临时表,再使用 UPDATE FROM JOIN 联表更新。
|
||||||
|
|
||||||
|
|||||||
10
添加.md
10
添加.md
@@ -81,9 +81,15 @@ var t2 = fsql.Insert(items).ExecuteAffrows();
|
|||||||
|
|
||||||
FreeSql 适配了每一种数据类型参数化,和不参数化的使用。批量插入建议关闭参数化功能,使用 .NoneParameter() 进行执行。
|
FreeSql 适配了每一种数据类型参数化,和不参数化的使用。批量插入建议关闭参数化功能,使用 .NoneParameter() 进行执行。
|
||||||
|
|
||||||
## 3、ExecuteSqlBulkCopy、ExecutePgCopy、ExecuteMySqlBulkCopy、ExecuteOracleBulkCopy
|
## 3、BulkCopy
|
||||||
|
|
||||||
Bulk Copy 操作以扩展方法的形式实现,针对 SqlServer/PostgreSQL/MySql/Oracle 数据库,可用的包:FreeSql.Provider.SqlServer/FreeSql.Provider.PostgreSQL/FreeSql.Provider.MySqlConnector/FreeSql.Provider.Oracle。
|
| 程序包 | 扩展方法 | 说明 |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
### 批量插入测试参考(52个字段)
|
### 批量插入测试参考(52个字段)
|
||||||
|
|
||||||
|
|||||||
8
添加或修改.md
8
添加或修改.md
@@ -73,7 +73,13 @@ repo.InsertOrUpdate(实体);
|
|||||||
|
|
||||||
## 4、BulkCopy 批量插入或更新
|
## 4、BulkCopy 批量插入或更新
|
||||||
|
|
||||||
FreeSql.Provider.SqlServer/FreeSql.Provider.Oracle 提供扩展方法 ExecuteSqlBulkCopy/ExecuteOracleBulkCopy 实现了批量插入或更新(v3.2.693),其他数据库未来补充。
|
| v3.2.693 | 扩展方法 | 说明 |
|
||||||
|
| FreeSql.Provider.SqlServer | ExecuteSqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.MySqlConnector | ExecuteMySqlBulkCopy | |
|
||||||
|
| FreeSql.Provider.Oracle | ExecuteOracleBulkCopy | |
|
||||||
|
| FreeSql.Provider.Dameng | ExecuteDmBulkCopy | 达梦 |
|
||||||
|
| FreeSql.Provider.PostgreSQL | ExecutePgCopy | |
|
||||||
|
| FreeSql.Provider.KingbaseES | ExecuteKdbCopy | 人大金仓 |
|
||||||
|
|
||||||
原理:使用 BulkCopy 将数据插入到临时表,再使用 MERGE INTO 联表操作。
|
原理:使用 BulkCopy 将数据插入到临时表,再使用 MERGE INTO 联表操作。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user