Hi,
From your codes I can see that your LINQ select statement can return you read-only object collection in an anoymous class collection, So this has nothing to do with original databases. Maybe in my mind I think you can use EntityFramework DataSource to bind to the GridView, and then do modifications.
In your query you are not updating the values before saving the changes. Use the following line before you submit the changes.
Db.Registers.InsertOnSubmit(reg);
Thanks
Sisir Patro