私は基本的にFKを持つ3つのテーブルを持っています
作る
- MakeId
- MakeName
モデル
- モデル ID
- モデル名
- MakeId (外部キー)
車両
- 車両 ID
- 購入日
- モデル ID (外部キー)
データベースを変更せずに、Vehicle から Make へのナビゲーション プロパティが欲しい
私は試した:
public class Make
{
public int MakeId {get;set;}
<snip>...</snip>
public virtual Vehicle Vehicles {get;set;}
}
<snip>Model</snip>
public class Vehicle
{
public int VehicleId {get;set}
<snip>...</snip>
public virtual Make VehicleMake {get;set;}
}
public class VehicleMap : EntityTypeConfiguration<Vehicle>
{
public VehicleMap()
{
this.HasKey(t => t.VehicleId);
<snip>...</snip>
this.HasRequired(t => t.VehicleMake)
.WithMany(t => t.Vehicles)
.HasForeignKey(t => t.Model.MakeId);
}
}
ただし、これを行ったときに例外を受け取りました。
プロパティ式 'd => d.Model.MakeId' は無効です。式はプロパティを表す必要があります: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. 複数のプロパティを指定する場合は、匿名型を使用します: C#: 't => new { t.MyProperty1, t.MyProperty2 }' VB.Net: 'Function(t) New From { t.MyProperty1, t.MyProperty2 }'.
データベースに Vehicle.ModelId 列を追加せずに Make & Vehicle テーブルにナビゲーション プロパティを作成するにはどうすればよいですか?