我使用SqlBulkCopy的身份關係的兩個DataTable,在僞我這樣做:如何批量插入具有
- 使新員工的DataTable
- 做出新EmployeeAddress的DataTable
- 填入職員表但沒有指定employeeId,因爲它的身份
- 填充EmployeeAddress數據表,但它包含一個employeeId字段
- 通過這樣做兩次將兩個數據表寫入數據庫並且chan蔓莖表名:
。
using (var bulk = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity & SqlBulkCopyOptions.KeepNulls))
{
bulk.BatchSize = 25;
bulk.DestinationTableName = "Employee";
bulk.WriteToServer(employeeDataTable);
}
如何指定第二個datable中的employeeId,使其與第一次插入的員工正確對齊?我讀取數據的方式是我一起閱讀員工和地址,因此插入所有員工然後返回並插入所有地址會有點痛苦。
我想知道是否有一個優雅的解決方案?
您是否使用表格的自動標識? – ScottG
是的,所以employeeId是由SQL自動生成的,我想創建一個員工和一個地址,但我不知道employeeid,直到員工在數據庫中創建並且SQL將其分配給一個 - 但要創建一個地址,我需要它屬於的employeeid。 – NibblyPig