mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 07:20:51 +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.
|
||||
|
||||
## 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)
|
||||
|
||||
|
||||
@@ -72,7 +72,13 @@ Disadvantages: does not support batch operations
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
@@ -300,9 +300,13 @@ SET a.`bcode` = b.`xcode`
|
||||
|
||||
## 12、BulkCopy Batch Update
|
||||
|
||||
FreeSql.Provider.SqlServer、FreeSql.Provider.MySqlConnector、FreeSql.Provider.PostgreSQL、FreeSql.Provider.Oracle
|
||||
|
||||
The extension methods ExecuteSqlBulkCopy, ExecuteMySqlBulkCopy, ExecutePgCopy, And ExecuteOracleBulkCopy are implemented to implement batch update (v3.2.693)
|
||||
| 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 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 批量更新
|
||||
|
||||
FreeSql.Provider.SqlServer、FreeSql.Provider.MySqlConnector、FreeSql.Provider.PostgreSQL、FreeSql.Provider.Oracle
|
||||
|
||||
分别实现了扩展方法 ExecuteSqlBulkCopy、ExecuteMySqlBulkCopy、ExecutePgCopy、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 将数据插入到临时表,再使用 UPDATE FROM JOIN 联表更新。
|
||||
|
||||
|
||||
10
添加.md
10
添加.md
@@ -81,9 +81,15 @@ var t2 = fsql.Insert(items).ExecuteAffrows();
|
||||
|
||||
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个字段)
|
||||
|
||||
|
||||
8
添加或修改.md
8
添加或修改.md
@@ -73,7 +73,13 @@ repo.InsertOrUpdate(实体);
|
||||
|
||||
## 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 联表操作。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user