And*_*ers 5 c# entity-framework entity-framework-6
我有一个使用FK ProductId有关系的实体,然后我使用复合键ProductId和VehicleId在同一个实体上有另一个关系.这不起作用.我明白了
在模型生成期间检测到一个或多个验证错误:
ProductId:Name:类型中的每个属性名称必须是唯一的.已定义属性名称"ProductId".
配置代码
public class BookingConfiguration : EntityTypeConfiguration<Booking>
{
public BookingConfiguration()
{
...
HasRequired(b => b.Product)
.WithMany(p => p.Bookings)
.Map(m =>
{
m.MapKey("ProductId");
});
HasRequired(b => b.Vehicle)
.WithMany(v => v.Bookings)
.Map(m =>
{
m.MapKey("ProductId","VehicleId");
});
}
}
Run Code Online (Sandbox Code Playgroud)
Steve Greene 让我走上了正轨,我将ProductId
和添加VehicleId
到实体并使用
HasRequired(b => b.Vehicle)
.WithMany()
.HasForeignKey(b => new {b.ProductId, b.VehicleId});
Run Code Online (Sandbox Code Playgroud)
从域的角度来看,我不喜欢将外键添加到实体中,因此如果有人有更好的解决方案,请告诉我。
归档时间: |
|
查看次数: |
1851 次 |
最近记录: |