0

我有一个模型 Vehicle 和另一个模型,因此车辆与模型之间存在一对多的关系。车辆类定义如下:

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 是外键。我怎样才能映射它?

4

1 回答 1

0

您可以按如下方式对其进行映射。

   modelBuilder.Entity<Vehicle>()
            .HasOptional(v => v.Model)
            .WithMany()
            .Map(m => m.MapKey("CD_Model"));

如果外键不可为空,请HasRequired使用HasOptional.

于 2012-04-17T23:03:01.920 回答