2012-06-22 22 views
1

我有一個對象OrderDetail。這有一個ID,產品對象列表和運輸細節對象。實體框架4.3對象圖形更新

訂單明細和裝運細節是新的,產品不是,即他們已經存在於數據庫中。

我的問題是,當我做context.savechanges()產品被添加到數據庫,即重複。

無論如何,我可以標記產品爲'不要插入只使用ID'?

我真的不想改變我的模型,說每個產品都有一個訂單明細,因爲(1)這在邏輯上是錯誤的,(2)可能會導致性能問題?

感謝

回答

0

反正我可以標記的產品作爲「不插只使用ID」?

是的,但你必須處理它自己:

dbContext.OrderDetails.Add(orderDetail); 
foreach(var product in orderDetail.Products) { 
    dbContext.Entry(product).State = EntityState.Unchanged; 
}  
dbContext.SaveChanges();