我有一个模型车辆和另一个模型,所以从车辆到模型之间存在一对多的关系。 车辆类定义如下:
public class Vehicle
{
public int VehicleId { get; set; }
...
public virtual Model Model { get; set; }
}
问题是我将这些类映射到现有数据库,所以我这样做:
modelBuilder.Entity<Vehicle>().ToTable("TB_Vehicles");
modelBuilder.Entity<Vehicle>().Property(x => x.Color).HasColumnName("DR_Color");
modelBuilder.Entity<Model>().ToTable("TB_Models");
modelBuilder.Entity<Model>().Property(x => x.ModelId).HasColumnName("CD_Model");
modelBuilder.Entity<Model>().Property(x => x.Description).HasColumnName("DS_Description");
所以我的表TB_Models有一个CD_Model列,它是一个主键,我的表TB_Vehicles也有一个CD_Model列,它是外键。 我该如何映射?
答案 0 :(得分:0)
您可以按如下方式映射它。
modelBuilder.Entity<Vehicle>()
.HasOptional(v => v.Model)
.WithMany()
.Map(m => m.MapKey("CD_Model"));
如果外键不可为空,请使用HasRequired
代替HasOptional
。