Код немного не совпадает с моделью, просто я много вариантов уже перепробовал.
Вот пример
var context = new Model1Container();
var parent = new Entity1();
var child = new Entity1() {Parent = parent};
parent.Parent = child;
context.Entity1Set.Add(child);
context.SaveChanges();
Факт в том, что нельзя сделать ассоциацию таблицы на саму себя и при этом создать перекрестные ссылки между 2 взаимозависимыми словами. То есть структура БД должна быть такой
id | pid | name
1 | 2 | телевизор
2 | 1 | плазма
Если это нарушает какое-то правило проектирования БД, то как реализовать подобную зависимость, без создания дополнительных таблиц?