与一个表中的2个键的多对多关系

时间:2016-04-02 15:32:45

标签: asp.net entity-framework

我正在构建一个ASP.net应用程序,我正在使用Entity框架DBFirst。我有2张桌子。一张桌子有2把钥匙。另一张表有1个键。所以表结构;

Topic Table
   > Id
   > ArticleId
   > ...

Branch Table
   > Id
   > ...

我在创建多对多关系时遇到问题,因为主题表中有2个键。我的多对多关系表看起来像这样;

BranchTopic
   > TopicId
   > BranchId

我该如何解决这个问题?我想在Topic和Branch之间建立多对多的关系。我不希望在这种关系中的ArticleId之间存在任何关系。当我遗漏ArticleId时Visual Studio显示以下错误;

错误15错误3024:从第503行开始映射片段时出现问题:必须指定关系数学分支特征中最终主题的所有关键属性(Id,ArticleId)的映射。     C:\ Users \ Username \ documents \ visual studio 2013 \ Projects \ Mathematics \ Mathematics \ Model.edmx 504 11数学

1 个答案:

答案 0 :(得分:0)

您只需指定列顺序以指定多个键

From the documentation:

public class Passport 
{ 
    [Key] 
    [Column(Order=1)] 
    public int PassportNumber { get; set; } 
    [Key] 
    [Column(Order = 2)] 
    public string IssuingCountry { get; set; } 
    public DateTime Issued { get; set; } 
    public DateTime Expires { get; set; } 
}