时间:2019-03-08 标签:c#linqdiscradInsertOnSubmit
c# linq discrad InsertOnSubmit
我在使用 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
}
}
谢谢
为什么不丢弃上下文?查看有关 L2S 数据上下文生命周期的 this 文章。 " DataContext 可以在 SubmitChanges() 之后使用,但必须小心。"
我在使用 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
}
}
谢谢
为什么不丢弃上下文?查看有关 L2S 数据上下文生命周期的 this 文章。 " DataContext 可以在 SubmitChanges() 之后使用,但必须小心。"