Подэлементы будут сохранены вместе с основным элементом, и даже идентификаторы будут установлены правильно, если вы дадите своим DataClasses связь между этими классами.
Вы делаете это, добавляя LoadOptions в ваши классы данных O / R-Designer следующим образом:
MyDataContext mydc = new MyDataContext();
System.Data.Linq.DataLoadOptions lo = new System.Data.Linq.DataLoadOptions();
lo.LoadWith<E1>(p => p.e2s);
mydc.LoadOptions = lo;
Таким образом, LINQ позаботится о добавлении подэлементов, вам не нужно вставлять каждый из них по отдельности.
Побочный эффект: при загрузке элемента также будут извлечены подэлементы.