這是一個相當簡單的問題:當有人在我的ASP.NET MVC項目中點擊「編輯計劃」時 - 他不編輯,但創建一個新的計劃。你可以在我的答案更清楚地看到它給我的qeustion這裏:How do I duplicate an object?爲什麼我無法將對象添加到數據庫? (mvc3)
現在我想要做同樣的事情到它的引用,我做了這樣的:
var featurePlans = db.FeaturePlanBaseSet.Where(f => f.PlanId == plan.Id).ToList();
db.PlanSet.AddObject(plan);
db.SaveChanges();
for (var i = 0; i < featurePlans.Count(); i++)
{
featurePlans[i].Plan = plan;
db.FeaturePlanBaseSet.AddObject(featurePlans[i]);
}
計劃加入時,我做AddObject
,但Feature
不是。
我得到這個錯誤:
An object with the same key already exists in the ObjectStateManager. The existing object is in the Unchanged state.
我會很高興知道它爲什麼會發生。