如何在Entity Framework Code First中进行自我引用?

时间:2013-05-22 00:25:39

标签: entity-framework entity-framework-5 poco

我有一个设备类,计算机类和virtualdesktop类。每台计算机都是一台设备,每台虚拟桌面都是一台计算机。我想在virtualdesktop中添加一个属性,该属性引用另一台类型为computer的设备,指示虚拟设备的托管位置。我在Code First环境中使用POCO和Entity Framework 5.0。我应该如何将此属性添加到下面的virtualdesktop类中?这是一种自我引用的关系吗?

[Table("devices")]
public class device 
{
   public int DeviceId { get; set; }
   public string Description { get; set; }
   public string IPAddress { get; set; }
}

[Table("computers")]
public class computer : device
{
    public string OperatingSystem { get; set; }
    public string OS_LicenseKey { get; set; }
}

[Table("virtualdesktops")]
public class virtualdesktop : computer
{
 //Should I do this
  public Computer Computer {get; set;}

 //Or should I do this
  public int ComputerId {get; set;}
}

1 个答案:

答案 0 :(得分:0)

你需要两者。

阅读this了解更多详情,包括如何设置可选和多对一关系。