【发布时间】:2009-02-18 09:31:59
【问题描述】:
我有一个使用包含附加信息的链接表的多对多关系。 3 个实体,LHS、RHS、LHSRHS LHS 1 - * 带 LHSRHS RHS 1 - * 带 LHSRHS
我使用设计器根据表格生成 EDMX
我有 2 个问题 1)如果创建所有 3 个实体(新实体)将它们链接起来并尝试持久化,我会遇到 FK 违规,因为它在插入 RHS 表之前尝试插入 LHSRHS 表
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();
有人有什么想法吗?
【问题讨论】:
标签: c# entity-framework