我基本上有三个表与FK的
使
- MakeId
- MakeName
模型
- ModelId
- 型号名称
- MakeId(FK)
车辆
- VehicleId
- 购买日期
- ModelId(FK)
我想从车辆的导航性能,而无需修改我的数据库,以使
我试过了:
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: '函数(t)的t.MyProperty'。 当指定多个属性使用匿名类型:C#: 'T =>新的{t.MyProperty1,t.MyProperty2}' VB.Net: '函数(t)的新的从{t.MyProperty1,t.MyProperty2}'。
如何创建我的制作及车辆桌的导航属性不增加Vehicle.ModelId列到我的数据库?