簡體   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