EF6外键问题

时间:2014-01-18 11:53:43

标签: entity-framework entity-framework-6

以下是我的模特

public class Driver
{
    public int Id { get; set; }
    public String Name { get; set; }
    public int VehicleId { get; set; }
    public virtual Vehicle Vehicle  { get; set; }
}

public class Vehicle
{  
    public int Id { get; set; }
    public String Name { get; set; }

    public virtual Driver Driver { get; set; }

    public int VehicleGroupId { get; set; }
    public virtual VehicleGroup Vehicles { get; set; }
}

我在更新数据库时遇到以下错误:

无法确定类型'AppName.Models.Vehicle'和'AppName.Models.Driver'之间关联的主要结尾。必须使用关系流畅API或数据注释显式配置此关联的主要结尾。

我希望使用数据注释解决问题。我已经尝试将外键属性放在车辆模型中的Driver Navigation属性上。但没有成功。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

要解决您的问题,您需要明确设置关联的结束,如下所示:

public class Vehicle
{  
    [Key, ForeignKey("Driver")]
    public int Id { get; set; }
    public String Name { get; set; }

    public virtual Driver Driver { get; set; }

    public int VehicleGroupId { get; set; }
    public virtual VehicleGroup Vehicles { get; set; }
}

我认为你的模型是直接的,因为司机可以在现实生活中使用很多车辆;)