2016-04-03 11 views
0

SubmitChangesが失敗して例外が発生した場合、SubmitChanges()およびInsertOnSubmit()、InsertOnSubmit()、 を使用しているときに問題が発生しました。変更セットがデータベースに競合するオブジェクトもう存在している)。問題は、データベースに要素を挿入するコードを再実行すると、間違った主キーを持つオブジェクトが変更セット内にあるため、SubmitChangesが失敗するということです。 質問は、変更セットから最初のobjを削除する方法ですか?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

なぜコンテキストを破棄していませんか? L2S datacontextの寿命に関する記事をthisでご覧ください。 "DataContextはSubmitChanges()の後に使用できますが、注意が必要です。"