Asp.net-Mvc
使用實體框架保存更改/更新數據集中的現有對象,而不必單獨設置每個屬性
我可以在不必顯式設置對象的每個屬性的情況下執行以下操作(不起作用)嗎?Product 是預設模型綁定器從表單送出中創建的對象,ProductInDb 是我希望覆蓋/更新的上下文/數據庫中的對象。ProductID 主鍵在兩者上是相同的。
var ProductInDb = context.Products.FirstOrDefault(x => x.ProductID == product.ProductID); ProductInDb = product; context.SaveChanges();
您可以附加現有
product並將其狀態設置為Modified.如果您使用
DbContextAPIcontext.Products.Attach(product); context.Entry(product).State = EntityState.Modified; context.SaveChanges();為了
ObjectContextcontext.Products.Attach(product); context.ObjectStateManager.ChangeObjectState(product, EntityState.Modified); context.SaveChanges();