2016-04-03 5 views
0

У меня проблема при использовании SubmitChanges() и InsertOnSubmit(), , если сбой SubmitChanges и повышение исключения, набор изменений остается заполненным объектом, имеющим конфликт в db (например, первичный ключ уже существует). проблема в том, что если я заново выполнил кусок кода, который вставляет элемент в базу данных, то SubmitChanges терпят неудачу, потому что объект с неправильным первичным ключом находится в наборе изменений. Вопрос в том, как удалить первый объект из набора изменений?C# linq discrad InsertOnSubmit

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

Используйте вместо замены вместо замены. – jdweng

+0

Боковое примечание - используйте только ваши имена переменных и методов. Вы поблагодарите меня позже. – Neolisk

ответ

0

Почему бы не отказаться от контекста? Взгляните на статью this о времени жизни L2S-файла данных. «DataContext можно использовать после SubmitChanges(), но нужно быть осторожным».

Смежные вопросы