2014-10-04 33 views
0

如何使用不是主鍵的數據註釋來公佈實體框架中1:1關聯的主體端?如何使用數據註釋公佈實體框架中1:1關聯的主體端

public class Event 
{ 
    public Guid ID { get; set; } 
    public DateTime Start { get; set; } 
    public TimeSpan Duration { get; set; } 
    public DateTime Stop { get { return Start.Add(Duration); } } 
    public string Title { get; set; } 

    public Guid? ScheduleStartID { get; set; } 
    public Guid? ScheduleCalculatedID { get; set; } 
    public Guid? SchedAltAddID { get; set; } 
    public Guid? SchedAltRemoveID { get; set; } 

    [InverseProperty("StartEvent")] 
    public virtual Schedule ScheduleStart { get; set; } 
    [InverseProperty("CalculatedEvents")] 
    public virtual Schedule ScheduleCalculated { get; set; } 
    [InverseProperty("AddEvent")] 
    public virtual ScheduleAlteration SchedAltAdd { get; set; } 
    [InverseProperty("RemoveEvent")] 
    public virtual ScheduleAlteration SchedAltRemove { get; set; } 
} 


public class ScheduleAlteration 
{ 
    public Guid ID { get; set; } 
    public Guid? AddEventID { get; set; } 
    public Guid? RemoveEventID { get; set; } 
    public Guid ScheduleID { get; set; } 

    [InverseProperty("SchedAltAdd")] 
    public virtual Event AddEvent { get; set; } 
    [InverseProperty("SchedAltRemove")] 
    public virtual Event RemoveEvent { get; set; } 
    public virtual Schedule Schedule { get; set; } 
} 

我得到一個錯誤 無法確定類型「MLNSC.Models.JobEvent」和之間的關聯的主要結束「MLNSC.Models.ScheduleAlteration」

如何指定事件是主要對象?

回答

0

我找到了答案here但沒有在選定的答案 - 這不適合我。第二個答案建議使用[required]數據註釋。

[required, InverseProperty("SchedAltAdd")] 
public virtual Event AddEvent { get; set; } 

我upvoted這兩個問題&爲我工作的答案。