2015-09-11 18 views
5

मेरे पास एक ऐसी इकाई है जिसका एफके उत्पाद आईडी का उपयोग करके संबंध है, फिर मेरे पास समग्र कुंजी उत्पाद आईडी और वाहन आईडी का उपयोग करके एक ही इकाई पर एक और संबंध है। यह काम नहीं करता। मैं मॉडल पीढ़ी के दौरानसंपत्ति का नाम 'ProductId' पहले ही परिभाषित किया गया है

एक या अधिक सत्यापन त्रुटियों का पता चला गया:

productId: नाम: एक प्रकार की प्रत्येक प्रॉपर्टी के नाम अनन्य होना चाहिए। संपत्ति नाम '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"); 
       }); 
     } 
    } 
+2

यदि उत्पाद आईडी बुकिंग बॉक्स में मौजूद है, तो आपने MapKey() के बजाय HasForeignKey() को आजमाया है? http://stackoverflow.com/questions/17639599/entity-framework-property-name-in-a-type-must-be-unique –

उत्तर

3

स्टीव ग्रीन मुझे सही रास्ते पर डाल दिया, मैं एंटिटी को ProductId और VehicleId जोड़ा गया है और

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

इस्तेमाल किया एक डोमेन परिप्रेक्ष्य में मुझे पसंद नहीं है इकाई को विदेशी कुंजी जोड़ना ताकि अगर कोई बेहतर समाधान कर सके तो कृपया मुझे बताएं।

संबंधित मुद्दे