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); } }
Category: Csharp - C# - One comment »





August 8th, 2009 at 12:19 pm
submit etmeden önce değişiklik olan nesneyi refresh etmek bu hatanın oluşmasını önleyebilir…
DataContextInstance.Refresh(RefreshMode.OverwriteCurrentValues, tblYourEntitys);