Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架创建两个表之间的关系_C#_.net_Entity Framework - Fatal编程技术网

C# 使用实体框架创建两个表之间的关系

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 现在,当我创建一个新计划时,我一直在尝试将两者联系起来。我不知道怎么做。我知道这与引用关系或创建关系有关 表的设置是正确

我正在为一个web应用程序开发一些CRUD方法。我将实体框架与SQLServer2008结合使用。特别是,我有两个使用交叉引用表链接的表。它的格式如下:

  • Tbl\u计划
    • PlanId
    • PlanNm
    • 激活
  • Tbl\u人员
    • PersonId
    • PersonNm
    • PersonData
  • 外部参照表
    Xref\u PersonPlan
    • PersonId
    • PersonNm
现在,当我创建一个新计划时,我一直在尝试将两者联系起来。我不知道怎么做。我知道这与引用关系或创建关系有关

表的设置是正确的,因为一旦创建了数据(即SQL Server中的示例条目),我就可以很好地提取数据,但创建引用是我遇到的难题。我尝试了以下方法:

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的林克。