Ho un'entità che ha una relazione che utilizza FK ProductId, quindi ho un'altra relazione sulla stessa entità utilizzando le chiavi composite ProductId e VehicleId. Questo non funziona. Ottengo sono stati rilevatiIl nome della proprietà 'ProductId' è già definito
uno o più errori di convalida durante la generazione del modello:
ProductId: Nome: ogni nome di proprietà in un tipo deve essere univoco. Proprietà nome 'ProductId' è già definito.
Config codice
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");
});
}
}
Se ProductId esiste nel modello di prenotazione, hai provato HasForeignKey() invece di MapKey()? http://stackoverflow.com/questions/17639599/entity-framework-property-name-in-a-type-must-be-unique –