2015-09-11 32 views
5

FK ProductId kullanarak bir ilişkisi olan bir varlık var, daha sonra aynı varlık üzerinde ProductId ve VehicleId bileşik anahtarları kullanılarak başka bir ilişkisi var. Bu çalışmıyor. BenÖzellik adı 'ProductId' zaten tanımlanmış

Bir veya daha fazla doğrulama hataları modeli oluşturma sırasında tespit edildi olsun:

productID: Ad: Bir tür her bir özelliği adı benzersiz olmalıdır. Özellik 'ProductId' adı zaten tanımlanmıştır.

Yapılandırma kodu

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"); 
       }); 
     } 
    } 
+2

ProductId, Rezervasyon modelinde bulunuyorsa, MapKey() yerine HasForeignKey() yöntemini denediniz mi? http://stackoverflow.com/questions/17639599/entity-framework-property-name-in-a-type-must-be-unique –

cevap

3

Steve Greene, doğru yolda beni koy ben idareye ProductId ve VehicleId eklendi ve ben sevmiyorum etki alanı perspektifte

HasRequired(b => b.Vehicle) 
    .WithMany() 
    .HasForeignKey(b => new {b.ProductId, b.VehicleId}); 

kullanılan Yabancı anahtarların varlığa eklenmesi, böylece birisinin daha iyi bir çözümü varsa lütfen bana bildirin.

İlgili konular