我試圖插入幾個新創建的項目到數據庫。 我有一個名爲「Order」的LINQ2SQL生成的類。LINQ to SQL - 插入產生奇怪的行爲
內部訂單中有一個名爲「OrderItems」的屬性,它也由LINQ2SQL生成並表示該訂單的項目。
到目前爲止這麼好。 我現在遇到的問題是,當我嘗試在Order內添加多個新創建的OrderItem時。
即:
Order o = orderWorker.GetById(10);
for(int i=0; i < 5; ++i) {
OrderItem oi =new OrderItem {
Order = o,
Price = 100,
ShippingPrice = 100,
ShippingMethod = ...,
Item = someItem
};
o.OrderItems.Add(oi);
}
context.SubmitChanges();
不幸的是,被添加僅單個實體。 是的,我通過添加Context.Log = Console.Out來檢查生成的SQL,是的,只創建了一條語句。
任何線索? 當我知道我沒有使用InsertOnSubmit,通過文件的方式說:
您可以明確要求通過 插入使用InsertOnSubmit。或者, LINQ to SQL可以通過 推斷插入連接到 之一的已知對象,該對象必須是 已更新。例如,如果你一個 未跟蹤對象到 EntitySet的(TEntity)已或設置 的EntityRef(TEntity)已添加到未跟蹤 對象,則使未跟蹤對象 到達由在 圖表跟蹤對象的方法。在處理 SubmitChanges時,LINQ to SQL遍歷 跟蹤的對象並發現任何 未被跟蹤的可訪問持久對象 。這些對象是 候選人,用於插入 數據庫。
非常感謝您的時間。
謝謝你喂回來 - 有趣。 – 2010-03-29 21:47:02
這沒什麼意義......爲什麼我不能插入2個具有相同散列值並且比較等於的新對象? – 2016-06-06 16:09:32