0

是否可以使用 EF 5.0 Code First 映射外键列表而不是导航属性?

想象一下,我有一个 Car 实体和一个 Driver 实体。一个司机可以驾驶多辆汽车,一辆汽车可以有多个司机。这是在数据库中使用 Car 和 Driver 表之间关系的连接表建模的:Car_drivers (car_id, driver_id)

我希望能够将其映射到以下两个类:

public class Driver
{
    public int Id { get; set; }
    ...
    public IList<int> Drives  { get; set; } // List of car ID's
}

public class Car
{
    public int Id { get; set; }
    ...
    public IList<int> DrivenBy { get; set; } // List of driver ID's
}

如何使用 EF 5.0 Code First 将数据库模型中的外键映射到此模型?

更新:

有谁知道 NHibernate 是否支持它?

4

1 回答 1

0

这不可能。实体框架只能映射相关实体的集合。所以你应该使用实体集合而不是键集合:

public class Driver
{
    public int Id { get; set; }
    ...
    public virtual ICollection<Car> Drives  { get; set; }
}

public class Car
{
    public int Id { get; set; }
    ...
    public virtual ICollection<Driver> DrivenBy { get; set; }
}
于 2013-03-19T22:10:52.513 回答