Show / Hide Table of Contents

    Class SqlServerBulkUpdate

    Class for fast data update for SQL Server.

    Inheritance
    System.Object
    BulkUpdateBase
    SqlServerBulkUpdate
    Implements
    IBulkUpdate
    Inherited Members
    BulkUpdateBase.PrefixTempTable
    BulkUpdateBase._connection
    BulkUpdateBase._disposeOfConnection
    BulkUpdateBase.ExternalTransaction
    BulkUpdateBase.DestinationTableName
    BulkUpdateBase.TempTableAction
    BulkUpdateBase.PrimaryKeyColumn
    BulkUpdateBase.Update(IBulkActionDataReader)
    BulkUpdateBase.UpdateAsync(IBulkActionDataReader)
    BulkUpdateBase.Update(IDataReader)
    BulkUpdateBase.UpdateAsync(IDataReader)
    BulkUpdateBase.Update(DataTable)
    BulkUpdateBase.UpdateAsync(DataTable)
    BulkUpdateBase.GetTempTableNameForBulkInsert(String)
    BulkUpdateBase.GetColumnNamesForTempTable(IDataReader)
    BulkUpdateBase.GetUpdateColumnNames(IDataReader, String)
    BulkUpdateBase.Dispose(Boolean)
    BulkUpdateBase.Dispose()
    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 externalTransaction.

    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
    BulkUpdateBase.CreateBulkInsert()

    CreateCommandForPrimaryKey()

    Returns command for creating primary key.

    Declaration
    protected override IDbCommand CreateCommandForPrimaryKey()
    Returns
    Type Description
    System.Data.IDbCommand
    Overrides
    BulkUpdateBase.CreateCommandForPrimaryKey()

    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
    BulkUpdateBase.CreateTempTable(IDataReader, String)

    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
    BulkUpdateBase.DoneTempTableAsync(String, Boolean)

    GetTempTableName()

    Returns name of temporary table.

    Declaration
    protected override string GetTempTableName()
    Returns
    Type Description
    System.String
    Overrides
    BulkUpdateBase.GetTempTableName()

    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
    BulkUpdateBase.InvokeAction(String)

    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
    Overrides
    BulkUpdateBase.UpdateDestinationTableAsync(IDataReader, String, Boolean)

    Implements

    IBulkUpdate
    Back to top KROS a.s.