Recently I was working on a custom page in a Dynamic Data project and the "Delete" link was not working on a GridView that had a LinqDataSource as its data source. Below are the steps I followed to resolve:
First, I was getting an error when clicking delete for a record in the GridView
'GridDataSource' does not support the Delete operation unless
EnableDelete is true.' when calling method
This was fixed easily by setting EnableDelete="true" on the LinqDataSource.
Next up, I needed to set the DataKeyNames on the GridView. This basically indicates what the where condition will be for the delete operation. I set the GridView DataKeyNames equal to the name of the primary key column in my table.
That will probabaly resolve for most people, but for me, it did not. I had also set the Select property on the LinqDataSource and this was preventing the delete from occuring. Once I REMOVED the value for this propery, all worked.
The below article was helpful in diagnosing: