I am trying to delete a selected gridview row using LINQ (No LINQDataSource).
When the selection is changed, the detailsview binding is changed also. I can add a new entry to the database, but when I added this code to a delete button inside the updatePanel, I got an exception:
try { var query = from i in db.QuestionModules where i.QuestionModuleID == QuestionModuleID select i; QuestionModule o = query.First(); db.QuestionModules.DeleteOnSubmit(o); db.SubmitChanges(); }
This is the exception I get:
System.Data.Linq.ChangeConflictException: Row not found or changed. at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) at System.Data.Linq.DataContext.SubmitChanges()
I've had this problem for about a week, and no matter what I do, it is still there, and the record doesn't get deleted.
Any ideas on what to do?
OK - it looks as though (in my case at least) the answer was to set all non primary-key column's UpdateCheck property to Never in the DBML file. Doing this immediately cured the problem of "Row not found or changed".
Given the rumour that Microsoft are moth-balling Linq-To-Sql in favor of Entity Framework, one wonders whether these sorts of bugs will be fixed?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With