Is there any reason something like this would not work?
This is the logic I have used many times to update a record in a table with LINQ:
DataClasse
The table could not be updated properly because it had no primary key. (Actually it had the column but the constraint was not copied when I did a SELECT INTO my dev table). The DataContext class requires a primary key for updates.