10 Kasım 2010 Çarşamba

Row not found or changed. – LINQ – ChangeConflictException

Eğer Linq to SQL kullanırken "SubmitChanges();" update etmek istediğiniz data "Row not found or changed" mesajı alırsanız hatayı yakalayıpduruma göre eski yada yeni değeri veritabanına yazabilirsiniz.

try
{
      MikroDbDataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException)
{
      foreach (ObjectChangeConflict conflict in MikroDbDataContext.ChangeConflicts)
      {
             conflict.Resolve(RefreshMode.OverwriteCurrentValues);
      }
}

Yada hiç uğraşmak istemiyorum derseniz;

Update "SubmitChanges();" etmeden önce değişiklik yapacağınız nesneyi refresh ederseniz hatanın oluşmasını önleyebilirsiniz.

MikroDbDataContext.Refresh(RefreshMode.OverwriteCurrentValues, mlzDurumKontrol);

Hiç yorum yok: