Row not found or changed. – LINQ – ChangeConflictException

Linq to sql kullanırken eğer update etmek istediğiniz data çakışma hatası verirse hatayı yakalayıp sorunu çözebilirsiniz.

Datacontext nesnenizin ChangeConflicts collection’ında foreach ile dönerek duruma göre eski değeri yada yeni değeri veritabanına yazabilirsiniz. (KeepCurrentValues, KeepChanges, OverwriteCurrentValues)

try
{
     DataContextInstance.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException)
{
    foreach (ObjectChangeConflict conflict in DataContextInstance.ChangeConflicts)
     {
        conflict.Resolve(RefreshMode.OverwriteCurrentValues);
     }
}
  • Facebook
  • Twitter
  • StumbleUpon
  • del.icio.us
  • Digg

Category: Csharp - C# - One comment »

One Response to “Row not found or changed. – LINQ – ChangeConflictException”

  1. serdar

    submit etmeden önce değişiklik olan nesneyi refresh etmek bu hatanın oluşmasını önleyebilir…

    DataContextInstance.Refresh(RefreshMode.OverwriteCurrentValues, tblYourEntitys);


Leave a Reply



Back to top