我在使用 SubmitChanges() 和 InsertOnSubmit() 时遇到问题,如果 SubmitChanges 失败并引发异常,则更改集仍然填充有数据库中存在冲突的对象(例如,主键已经存在)。问题是,如果我重新执行在数据库中插入元素的代码,SubmitChanges 将失败,因为具有错误主键的对象位于更改集中。问题是如何从变更集中删除第一个 obj?
private void bInsInserisci_Click(object sender, RoutedEventArgs e)
{
Prodotto tmp = new Prodotto();
try {
tmp.idProdotto = InsProdCodProd.Text;
tmp.tempo = Int32.Parse(InsProdTemp.Text);
tmp.note = InsProdNote.Text;
prodotti.InsertOnSubmit(tmp);
db.SubmitChanges();
}
catch {
System.Data.Linq.RefreshMode.KeepCurrentValues
}
}
谢谢