C# 使用实体框架创建两个表之间的关系
我正在为一个web应用程序开发一些CRUD方法。我将实体框架与SQLServer2008结合使用。特别是,我有两个使用交叉引用表链接的表。它的格式如下:C# 使用实体框架创建两个表之间的关系,c#,.net,entity-framework,C#,.net,Entity Framework,我正在为一个web应用程序开发一些CRUD方法。我将实体框架与SQLServer2008结合使用。特别是,我有两个使用交叉引用表链接的表。它的格式如下: 表Tbl\u计划 PlanId PlanNm 激活 表Tbl\u人员 PersonId PersonNm PersonData 外部参照表Xref\u PersonPlan PersonId PersonNm 现在,当我创建一个新计划时,我一直在尝试将两者联系起来。我不知道怎么做。我知道这与引用关系或创建关系有关 表的设置是正确
- 表
Tbl\u计划
PlanId
PlanNm
激活
- 表
Tbl\u人员
PersonId
PersonNm
PersonData
- 外部参照表
Xref\u PersonPlan
PersonId
PersonNm
using (Entities context = new Entities())
{
// TblPlan plan has already been instantiated
plan.TblPersons.Add(person);
context.AddToTblPlans(plan);
context.SaveChanges();
但显然,
.Add()
不是我想要的……帮助?简单的回答是,LINQ to SQL中不支持与实体框架和其他ORM中相同的多对多关系,您必须自己实现所需的行为
看看这篇文章。它描述了一种适合您的方法。有人刚刚给我指出了正确的方向。我应该再等十分钟。我缺少.AttachTo()-我需要在添加之前将引用附加到上下文,因为它引发了InvalidArgumentException。很抱歉,我正在使用实体框架。我很蠢——不是SQL的林克。