У меня есть отношение ко многим ко многим, используя таблицу ссылок, которая содержит дополнительную информацию. 3 объекта, LHS, RHS, LHSRHS
LHS 1 - * с LHSRHS
RHS 1 - * с LHSRHS
Я использую конструктор для генерации EDMX на основе таблиц
У меня 2 вопроса
1) Если создать все 3 объекта (новые), связать их и попытаться сохранить, я получаю нарушение FK при попытке вставить его в таблицы LHSRHS перед вставкой в таблицу RHS
2) Если я загружаю объект LHS из БД, то попробуйте создать объект RHS и связать его с объектом LHS, если получу нарушение FK.
Если я загружаю объект RHS из БД, то пытаюсь создать объект LHS и связать его с объектом RHS, который у меня работает отлично.
КОД для этого:
//WORKS
eftestEntities es = new eftestEntities();
RHS existing = es.RHS.First();
LHS newObject = new LHS();
newObject.ID = "LHs1";
newObject.Name = "LHs1";
LHSRHS link = new LHSRHS();
link.Something = "some";
link.LHS = newObject;
existing.LHSRHS.Add(link);
es.SaveChanges();
...........
//DOES NOT WORK
eftestEntities es = new eftestEntities();
LHS existing = es.LHS.First();
RHS newObject = new RHS();
newObject.ID = "RHSNEW1";
newObject.Name = "RHSNEW";
LHSRHS link = new LHSRHS();
link.Something = "some";
link.RHS = newObject;
existing.LHSRHS.Add(link);
es.SaveChanges();
У кого-нибудь есть идеи?