diff --git a/Simple.Data.SqlServer/SqlBulkInserter.cs b/Simple.Data.SqlServer/SqlBulkInserter.cs index 7738213e..fc9829eb 100644 --- a/Simple.Data.SqlServer/SqlBulkInserter.cs +++ b/Simple.Data.SqlServer/SqlBulkInserter.cs @@ -79,6 +79,9 @@ private SqlBulkCopyOptions BuildBulkCopyOptions(AdoAdapter adapter) options |= (adapter.AdoOptions.FireTriggersOnBulkInserts ? SqlBulkCopyOptions.FireTriggers : SqlBulkCopyOptions.Default); + options |= (adapter.AdoOptions.IdentityInsert + ? SqlBulkCopyOptions.KeepIdentity + : SqlBulkCopyOptions.Default); } return options; @@ -113,7 +116,7 @@ private void AddRow(DataTable dataTable, IDictionary record) foreach (DataColumn column in dataTable.Columns) { if (record.ContainsKey(column.ColumnName)) - dataRow[column] = record[column.ColumnName]; + dataRow[column] = record[column.ColumnName] ?? DBNull.Value; } dataTable.Rows.Add(dataRow); }