基本上我插入一行,删除该行,然后再次插入一个具有相同键的新行。它将在最后一行 savechanges 上抛出异常:“AcceptChanges 无法继续,因为对象的键值与 ObjectStateManager 中的另一个对象冲突。在调用 AcceptChanges 之前,请确保键值是唯一的。” 我确认 deleteobject 调用有效。如何让 objectstatemanager 知道记录已经消失并且可以重新插入?
Maps _newMaps = new Maps();
_newMaps.map_page = "BLA";
_newMaps.descr = "BLA test";
opendb.AddToMaps(_newMaps);
opendb.SaveChanges(true);
foreach (var mapsrec in opendb.Maps)
{
opendb.DeleteObject(mapsrec);
}
opendb.SaveChanges(true);
Maps _sameMaps = new Maps();
_sameMaps.map_page = "BLA";
_sameMaps.descr = "BLA test";
opendb.AddToMaps(_sameMaps);
opendb.SaveChanges(true);