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: 
In the case you have the dbContext available and ready, just add *InsertOnSubmit*:

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

Dbcontext.InsertOnSubmit(myEntity);

Dbcontext.SubmitChanges();

```

As the name of the method implies, this will insert your new entity into the database on calling SubmitChanges.

Marc
It's possible to attach and persist it to the database, however you may want to set a field to check for concurrency (ie LastModified).

If you are going to use the Attach method on the data context, **you need to set the primary/composite keys** before you attach the entity (so you don't trigger **INotifyPropertyChanging, INotifyPropertyChanged** events).