2016-04-03 18 views
0

SubmitChanges başarısız olursa, SubmitChanges() ve InsertOnSubmit(), 'u kullanırken bir sorun yaşıyorum ve değişiklik istisnası db'de çakışan nesne ile dolu kalır (örn. Birincil anahtar zaten var). Sorun şu ki, eğer veriyi veritabanına ekleyen kod parçasını yeniden çalıştırırsam, SubmitChanges başarısız olur, çünkü yanlış birincil anahtara sahip nesne değişiklik kümesinde yer alır. Sorun, ilk objeyi değişiklik kümesinden nasıl silebiliriz?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 
     } 

    } 

Teşekkür

+0

Ekle yerine Değiştir'i kullanın. – jdweng

+0

Yan not - yalnızca değişkeninizde ve yöntem adlarınızda İngilizce kullanın. Bana sonradan teşekkür edeceksin. – Neolisk

cevap

0

Neden bağlamı atmak? L2S datacontext'in ömrü ile ilgili this makalesine bir göz atın. "DataContext, SubmitChanges() 'den sonra kullanılabilir, ancak bir tanesi dikkatli olmalı."