2
我們有一個使用Linq2Sql將記錄插入SQL Server 2008數據庫的.NET 3.5 WinForms應用程序。它在過去的幾年裏運行良好,直到昨天我們注意到submitchanges()調用導致多次插入記錄。而不是每次插入新記錄一次(因爲它總是這樣做,應該這樣做),查詢總共運行五次,因此每條記錄最終插入5次!
這當然是一個巨大的問題,我們的數據庫中不能有重複的記錄隨機出現。
我們不知道爲什麼會發生這種情況,我懷疑一些網絡問題。有沒有人有線索可能是什麼原因,如何排除故障和如何擺脫它?一個Linq2Sql submitchanges()調用多次執行
編輯:這裏是一個代碼示例:
if (selectedOrders > 0)
{
try
{
foreach (Customer cust in selectedOrders.Select(a=>a.Customer))
{
Invoice newInvoice = new Invoice();
newInvoice = cust.CustomerID;
// ... other code here
db.Invoices.InsertOnSubmit(newInvoice);
db.SubmitChanges();
}
}
catch (Exception ex)
{
log.Items.Add("Error: " + ex.Message);
log.SelectedIndex = log.Items.Count - 1;
log.Update();
}
}
感謝。
Jan
發表一些代碼。 – cadrell0 2012-02-09 13:41:19
「網絡問題」?你是否爲那個而墮落? – bzlm 2012-02-09 13:41:21
像某人的聲音在其數據庫中缺少唯一約束。 – jason 2012-02-09 13:45:02