Class SqlServerBulkUpdate
Class for fast data update for SQL Server.
Implements
Inherited Members
Namespace: Kros.Data.BulkActions.SqlServer
Assembly: Kros.Utils.dll
Syntax
public class SqlServerBulkUpdate : BulkUpdateBase, IBulkUpdate, IDisposable
Examples
private class BulkUpdateItem
{
public int Id { get; set; }
public string Name { get; set; }
}
public void UpdateManyItems()
{
IEnumerable<BulkUpdateItem> data = GetItems();
using (var reader = new EnumerableDataReader<BulkUpdateItem>(data, new string[] { "Id", "Name" }))
{
using (var bulkUpdate = new SqlServerBulkUpdate("connection string"))
{
bulkUpdate.DestinationTableName = "TableName";
bulkUpdate.PrimaryKeyColumn = "Id";
bulkUpdate.Update(reader);
}
}
}
Constructors
SqlServerBulkUpdate(SqlConnection)
Initialize new instance of SqlServerBulkUpdate with database connection connection.
Declaration
public SqlServerBulkUpdate(SqlConnection connection)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Data.SqlClient.SqlConnection | connection | Database connection where data will be updated, connection has to be opened. If transaction is running on connection, contructor with defined external transaction has to be used. |
SqlServerBulkUpdate(SqlConnection, SqlTransaction)
Initialize new instance of SqlServerBulkUpdate with database connection connection,
and external transaction externalTransaction.
Declaration
public SqlServerBulkUpdate(SqlConnection connection, SqlTransaction externalTransaction)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Data.SqlClient.SqlConnection | connection | Database connection where data will be updated, connection has to be opened.
If transaction is running on connection, transaction has to be defined in |
| System.Data.SqlClient.SqlTransaction | externalTransaction | External transaction, in which bulk update is executed. |
SqlServerBulkUpdate(String)
Initialize new instance of SqlServerBulkUpdate with connectionString.
Declaration
public SqlServerBulkUpdate(string connectionString)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | connectionString | Connection string for database connection. |
Methods
CreateBulkInsert()
Creates BulkInsert.
Declaration
protected override IBulkInsert CreateBulkInsert()
Returns
| Type | Description |
|---|---|
| IBulkInsert | Bulk insert. |
Overrides
CreateCommandForPrimaryKey()
Returns command for creating primary key.
Declaration
protected override IDbCommand CreateCommandForPrimaryKey()
Returns
| Type | Description |
|---|---|
| System.Data.IDbCommand |
Overrides
CreateTempTable(IDataReader, String)
Creates temporary table by reader.
Declaration
protected override void CreateTempTable(IDataReader reader, string tempTableName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Data.IDataReader | reader | Reader for accessing data. |
| System.String | tempTableName | Name of temporary table. |
Overrides
DoneTempTableAsync(String, Boolean)
Ends work with temporary table.
Declaration
protected override Task DoneTempTableAsync(string tempTableName, bool useAsync)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | tempTableName | Temporary table name. |
| System.Boolean | useAsync | true if action can by executed asynchronously. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task |
Overrides
GetTempTableName()
Returns name of temporary table.
Declaration
protected override string GetTempTableName()
Returns
| Type | Description |
|---|---|
| System.String |
Overrides
InvokeAction(String)
Invokes action in temporary database.
Declaration
protected override void InvokeAction(string tempTableName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | tempTableName | Name of temporary table. |
Overrides
UpdateDestinationTableAsync(IDataReader, String, Boolean)
Executes update on destination table.
Declaration
protected override Task UpdateDestinationTableAsync(IDataReader reader, string tempTableName, bool useAsync)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Data.IDataReader | reader | Reader for accesing data. |
| System.String | tempTableName | Temporary table name. |
| System.Boolean | useAsync | true if action can by executed asynchronously. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task |