Как вы уже видели, когда вы создаете новый, вы создаете анонимный тип и теряете возможность иметь двухстороннюю привязку к данным, поскольку она неизменна.
Согласно этой статье MSDN вы можете получить двухстороннюю привязку данных из коробки с Linq-to-SQL, когда linq может "найти базовую таблицу". Я не уверен, исключает ли это базовые объединения но я подозреваю, что это так.
В этом вопросе Linq to SQL и параллелизм с шаблоном хранилища Rob Conery Я обсуждаю шаблон, представленный Робом Конери, который я использовал, который давал двухстороннюю привязку к объектам и допускал объединения и тому подобное, но представлял объект домена, который находился на объекте DataContext - хотя, как я отмечаю в этом вопросе, выполнение этого способа убивает отслеживание параллелизма, и вам необходим код отображения, чтобы получить от объектов домена обратно к объектам DataContext.
Это звучит похоже на то, о чем вы заботитесь, и, по крайней мере, избавляет вас от необходимости расширять виртуальный режим.
У меня не было возможности много работать с Entity Framework 4, но, возможно, история лучше для этой ситуации. Когда я рассматривал это в Linq-to-SQL год или два назад, я никогда не находил отличного решения (что, конечно, не означает, что его нет!)