繁体   English   中英

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

[英]Creating relationship between two tables using Entity Framework

我正在为 web 应用程序研究一些 CRUD 方法。 我正在使用带有 SQL Server 2008 的实体框架。特别是,我有两个使用交叉引用表链接的表。 它采用以下格式:

  • Tbl_Plan
    • PlanId
    • PlanNm
    • Active
  • Tbl_Person
    • PersonId
    • PersonNm
    • PersonData
  • 外部参照表Xref_PersonPlan
    • PersonId
    • PersonNm

现在,当我创建一个新计划时,我一直试图将两者联系在一起。 我不确定如何。 我知道这与引用关系或创建关系有关。

表格设置正确,因为我可以在创建数据后很好地提取数据(即我在 SQL 服务器中的示例条目),但创建引用是我难过的地方。 我尝试了以下方法:

using (Entities context = new Entities())
{
// TblPlan plan has already been instantiated
plan.TblPersons.Add(person);

context.AddToTblPlans(plan);

context.SaveChanges();

但显然, .Add()不是我要找的......帮助?

简短的回答是 LINQ 到 SQL 不支持多对多关系,就像它们在实体框架和其他 ORM 中一样,您必须自己实现所需的行为。

看看这篇文章。 它描述了一种适合您的方法。

有人刚刚为我指出了正确的方向。 我应该再等十分钟。 我错过了 .AttachTo() - 我需要在添加之前将引用附加到上下文,因为它抛出了 InvalidArgumentException。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM