首页 > 解决方案 > Microsoft.Data.SqlClient.SqlBulkCopy 的两个构造函数之间有什么区别吗?

问题描述

Microsoft.Data.SqlClient.SqlBulkCopy类型有四个构造函数:

public SqlBulkCopy(SqlConnection connection);
public SqlBulkCopy(string connectionString);
public SqlBulkCopy(string connectionString, SqlBulkCopyOptions copyOptions);
public SqlBulkCopy(SqlConnection connection, SqlBulkCopyOptions copyOptions, SqlTransaction externalTransaction);

public SqlBulkCopy("someConnectionString")call和之间有什么区别public SqlBulkCopy("someConnectionString", SqlBulkCopyOptions.Default)吗?

标签: sqlbulkcopysqlclient

解决方案


不,没有区别。

该字段没有设置值_copyOptionshttps ://github.com/dotnet/SqlClient/blob/master/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlBulkCopy.cs#L183

这意味着默认值为 0(相当于SqlBulkCopyOptions.Default):https://github.com/dotnet/SqlClient/blob/master/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBulkCopyOptions.cs#L14

构造函数public SqlBulkCopy(string connectionString, SqlBulkCopyOptions copyOptions);调用public SqlBulkCopy(string connectionString);构造函数并设置_copyOptions字段:https ://github.com/dotnet/SqlClient/blob/master/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlBulkCopy.cs#L309

所以你会得到完全相同的行为


推荐阅读