2014-01-26 55 views
1

我有以下類關係:代碼首先導航屬性1比1與兩個外鍵

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的關係。

我希望能夠將ParticipantAssignment類中的ProgramWorksite導航屬性與ProgramWorksite類相關聯。

但是,如果您注意到,關係將基於兩個類中的兩個字段,即WorksiteIdProgramId - 不太確定如何執行此操作。

有一點要注意...

上面的代碼似乎是工作,但我不能肯定,如果其實際的關係用「ProgramId」,由於工作的關係可以用進行工作現場孤單 - 它會提供一個記錄,但它不會是準確的,因爲沒有考慮到ProgramId

+0

我認爲你必須使用流利的API來解決這個問題。 – Kaptan

+0

是的 - 我不會感到驚訝,我只是沒有太多的運氣搜索谷歌,我真的不知道如何描述我的問題,在一個單一的搜索短語,我迄今使用的短語沒有提出相關結果。 – 99823

回答

0

好吧 - 我能夠分析使用Glimpse生成的SQL,看起來,使用上面的當前設置它是正確使用連接中的ProgramIdWorksiteId

相關問題