[英]How do I bulk insert two datatables that have an Identity relationship
我正在使用SQLBulkCopy,以偽代碼執行此操作:
。
using (var bulk = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity & SqlBulkCopyOptions.KeepNulls))
{
bulk.BatchSize = 25;
bulk.DestinationTableName = "Employee";
bulk.WriteToServer(employeeDataTable);
}
如何在第二個數據庫中指定employeeId,以使其與第一次插入的員工正確對齊? 讀取數據的方式是我同時讀取了員工和地址,因此插入所有員工然后返回並插入所有地址有點麻煩。
我想知道是否有一個優雅的解決方案?
我不太確定這有多優雅,我想這取決於您。 我假設您有一個唯一字段或員工數據中唯一的字段組合。
如果在服務器上創建登台表,則可以批量插入包含所有員工數據以及員工地址信息的數據。
在登台表中,插入員工數據。 然后從登台表中加入employee表(以獲取新分配的ID)並插入雇員地址數據。
最后刪除登台表。
一切仍以設置為導向,因此您應該具有良好的性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.