From 86830a648125b4feb997d975b59708d9f1b91dea Mon Sep 17 00:00:00 2001 From: Jason Wyglendowski Date: Mon, 16 Jan 2017 10:31:28 -0500 Subject: [PATCH] Corrected Issure #393 Bulk Insert does not respect identity insert option --- Simple.Data.SqlServer/SqlBulkInserter.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); }