LINQ To SQL Attach
The Attach method allows updating with a disconnected object that has been updated. The easiest version to use is: Public Sub UpdateCustomer(updatedCustomer As Customer) Dim dc As New MyDataContext() dc.Customers.Attach(updatedCustomer, True) dc.SubmitChanges End Sub The only problem is that this generates a SQL statement that updates all columns rather than just the on that has changed. In other words, we used a little extra bandwidth. The reason this happens is because when we disconnected the object, we lost all the built in change tracking provided by LINQ (for now). Option 2 is to get a new copy of the object and update it. Public Sub UpdateCustomer(updatedCustomer as customer) Dim dc as New MyDataContext Dim originalCustomer as Customer = from c in dc.Customers Where c.PrimaryKey = updatedCustomer.PrimaryKey originalCustomer.CustomerName = updatedCustomer.CustomerName originalCustomer.CustomerAddress =