使用Entity Framework映射多个PK

时间:2012-10-03 00:29:00

标签: c# entity-framework entity-framework-4 fluent

我目前有2节课。第一个是资产,第二个是与该资产相关的服务。 SQL Server中的Asset表在ID和workflow_id上都有PK。

public class Asset
{
    public int ID { get; set; }
    public int workflow_id { get; set; }

    public string name { get; set; }
}

第二个表是服务,其中包含3列以上的PK,服务ID,workflow_id以及服务绑定的asset_id。

public class Services
{
    public int ID { get; set; }
    public int workflow_id { get; set; }
    public int asset_id { get; set; }

    public string service_description { get; set; }
}

示例数据:workflow_id#27中ID为#10的资产与workflow_id#27中的asset_id#10匹配所有服务。

如何将这两者与多列PK一起映射?

1 个答案:

答案 0 :(得分:1)

注释您想要成为PK的列。在您的第一个模型示例中,您将拥有:

    [Key, System.ComponentModel.DataAnnotations.Schema.Column(Order = 0)]
    public int ID { get; set; }


    [Key, System.ComponentModel.DataAnnotations.Schema.Column(Order = 1)]
    public int workflow_id { get; set; }