예제 #1
0
        private void ProcessBulkRecord(LogBulkRecord record)
        {
            if (record.Type == ActionType.Insert)
            {
                record.Table.Columns["CreatedBy"].ColumnName   = "LoggedBy";
                record.Table.Columns["CreatedDate"].ColumnName = "LoggedDate";
            }
            if (record.Type == ActionType.Update || record.Type == ActionType.Delete)
            {
                record.Table.Columns["UpdatedBy"].ColumnName   = "LoggedBy";
                record.Table.Columns["UpdatedDate"].ColumnName = "LoggedDate";
            }

            SetActionType(record.Table, record.Type);
        }
예제 #2
0
        private void BulkSave(SqlConnection conn, LogBulkRecord record)
        {
            if (!IsTableExist(conn, record.TableName))
            {
                return;
            }

            ProcessBulkRecord(record);

            var bulk = new SqlBulkCopy(conn);

            bulk.DestinationTableName = record.TableName;
            foreach (DataColumn column in record.Table.Columns)
            {
                bulk.ColumnMappings.Add(new SqlBulkCopyColumnMapping(column.ColumnName, column.ColumnName));
            }

            bulk.WriteToServer(record.Table);
        }