使用SubmitChanges()和InsertOnSubmit()时遇到问题, 如果SubmitChanges失败并引发异常,则更改集仍将填充db中存在冲突的对象(例如,主键已存在)。问题是,如果我重新执行在数据库中插入元素的代码段,则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
}
}
谢谢
答案 0 :(得分:0)
为什么不放弃上下文?请查看有关L2S datacontext生命周期的this文章。 "可以在SubmitChanges()之后使用DataContext,但必须小心。"