try
{
ContentDB contentDB = context.ContentDBs.FirstOrDefault(i => i.KeyID == KeyID);
contentDB = contentDBUpdated;
ChangeSet cs = context.GetChangeSet();
Console.Write("Total changes to ContractorDB: {0}", cs);
context.SubmitChanges();
}
catch (Exception ex)
{
}
我在这里做的是将所有新数据传递到名为contentDBUpdated
的对象中,并设置所有参数。然后我将该对象设置为contentDB
然后.SubmitChanges()
一直告诉我
插入:0,删除:0,更新:0
我不明白为什么,因为当我在contentDB
对象查看调试器时,它确实获得了新值。
答案 0 :(得分:3)
您无法设置/更新对象,如:
contentDB = contentDBUpdated;
这只会复制引用,因此现在contentDB
保留与contentDBUpdate
相同的引用,并且附加到contentDB
的原始上下文将丢失。
您可以设置以下属性:
contentDB.Name = contentDBUpdate.Name;
contentDB.SomeOtherProperty = contentDBUpdate.SomeOtherProperty;
然后更新将工作。