是否可以使用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是否支持它?
答案 0 :(得分: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; }
}