How to persist efficiently an object graph using LinqToSql?
===

I have an Entity with a lot of associated entities which I'm trying to persist using `LinqToSql`, comming from the `NHibernate` world i'm used to create that Entity like this

    // UI layer
    var entity1 = new Entity1();

    entity1.Entity2 = new Entity2 { Id =  long.Parse(dropdown.SelectedValue) };
    entity1.Entity3 = new Entity3 { Id =  long.Parse(dropdown2.SelectedValue) };
    ...
    entity1.List = GetEntities();
    ...

    //DAO layer
    public void Insert(Entity1 entity)
    {
       dataContext.Entity1.InsertOnSubmit(entity);                                  
       dataContext.SubmitChanges();                                            
    }               
when i call the `dbContext.SubmitChanges()` method in the `DAO` layer
`LinqToSql` try to persist also the associated classes, which it has not to do, i know that to solve this problem i have to attach those entities to the current `dataContext`.

so my question is how do you handle situations like this and what is the best way to persist an object graph using `LinqToSql` ? 