Question: every example I seen shows how to do a update query in linq to sql by doing this.

```
// grab entity you want to update

entity.UserId = "123"; // update the fields you want to update.
entity.Name = "bob";

Dbcontext.SubmitChanges();

```

I am wondering can you juse pass in a new object and have it figure it out?

Like could I do this?

```
Enity myEntity = new Entity();
myEntity.UserId = "123";
myEntity.Name = bob:

    // grab entity record
    // shove record ito the found record
    // it figured out what to update and what no to update

```

Answer: 
Depending on what exactly you want to do you either need the `InsertOnSubmit` method, or the `Attach` method of the respective table (i.e. dbContext.Entities). InsertOnSubmit is used to add a record, while Attach can be used if you want to affect an `UPDATE` without having to first `SELECT` the record (you already know the primary key value)
If you want to do this for performance reasons then you shouldn't worry about it. Linq to Sql will cache objects locally so that just grabbing an entity by ID to modify some fields is very cheap.