Есть два класса: "предок" и "наследники". В классе "предок" есть коллекция наследников. Возможно вставить данные каскадно, не делая обход в ширину или в глубину (сохранить предка, получить id, обновить объект и потом вставлять всех наследников):
Predok nas = new Predok{Name = "Вася"}
db.Predok.add(nas);
db.SafeChange();
//взять id, обновить вставленного предка и вставлять всех наследников
А просто:
List<Naslednik> Nasled = new <Naslednik>();
//заполняем List<Naslednik>
var PredokIn = new Predok {Name = "Вася", Nasledniki = Nasled}
db.Predok.add(PredokIn);