2013-07-24 51 views
2

如何在下面的代碼中使對象VirtualTerminal可選?我必須移除VirtualTerminal並只使用VirtualTerminalId嗎?實體框架在數據註釋中有可選

[Table("Computer")] 
public class Computer :Device 
{ 
    //public int Id { get; set; } 
    public string OperatingSystem { get; set; } 
    public string OS_LicenseKey { get; set; } 
    public VirtualTerminal VirtualTerminal { get; set; } 
    public int? VirtualTerminalId { get; set; }  
} 
+0

這種方式不是可選的嗎? –

回答

3

顯式指定可選關係應該是不必要的。實體框架公約應檢測VirtualTerminalId作爲關係中的外鍵,或者您可以使用ForeignKey的數據標註在VirtualTerminal導航屬性:

[ForeignKey("VirtualTerminalId")] 
public VirtualTerminal VirtualTerminal { get; set; } 

因爲VirtualTerminalId爲空,實體框架將註冊關係爲可選。

有很好的解釋herehere