0

モデル車両と別のモデルがあるため、車両からモデルへの一対多の関係があります。車両クラスは次のように定義されます。

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"));

外部キーが null 許容でない場合は、HasRequired代わりに を使用しHasOptionalます。

于 2012-04-17T23:03:01.920 に答える