代码优先导航属性1对1与两个外键的关系

时间:2014-01-26 20:51:15

标签: c# asp.net entity-framework ef-code-first

我有以下课程:

public class ParticipantAssignment
{
    [Key]
    public int ParticipantId { get; set; }
    public int WorksitePositionId { get; set; }
    public int WorksiteId { get; set; }
    public int EmployerId { get; set; }
    public int ProgramId { get; set; }
    public int UserId { get; set; }
    public DateTime AssignDateTime { get; set; }

    [Not Sure What Attribute to Use Here to Create the Relationship]
    public ProgramWorksite ProgramWorksite { get; set; }
    ... removed ...
}


public class ProgramWorksite
{

    [Key, Column(Order = 1)]
    public int WorksiteId { get; set; }
    [Key, Column(Order = 2)]
    public int ProgramId { get; set; }
    ... removed ...
}

ParticipantAssignment与ProgramWorksite之间存在1对1的关系。

我希望能够将ProgramWorksite类中的ParticipantAssignment导航属性与ProgramWorksite类相关联。

但是,如果您注意到,关系将基于两个类中的两个字段WorksiteIdProgramId - 不太确定如何执行此操作。

有一点需要注意......

APPEARS上面的代码正在运行,但我不确定它是否真的在关系中使用“ProgramId”,因为可以单独与WorksiteId建立关系 - 它会提供记录但是它不会准确无需考虑ProgramId

1 个答案:

答案 0 :(得分:0)

好的 - 我能够使用Glimpse对正在生成的SQL进行分析,看来上面的当前设置正确地使用了联接中的ProgramIdWorksiteId