【问题标题】:Creating relationship between two tables using Entity Framework使用实体框架创建两个表之间的关系
【发布时间】:2011-08-11 03:05:14
【问题描述】:

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

  • Tbl_Plan
    • PlanId
    • PlanNm
    • Active
  • Tbl_Person
    • PersonId
    • PersonNm
    • PersonData
  • 外部参照表Xref_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() 不是我要找的……帮助?

【问题讨论】:

    标签: c# .net entity-framework


    【解决方案1】:

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

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

    【讨论】:

    • 对不起,我正在使用实体框架。我很愚蠢 - 不是 LINQ to SQL。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      相关资源
      最近更新 更多