İki tane "Yalnızca Kod" POCO'larım EF4 ve en son CTP'yi kullanarak var olan eski bir veritabanına karşı çalışıyorum. PocoA'ya karşı bir LINQ sorgusu çalıştırdıktan sonra, bu nesneyi o nesneye ekleyene kadar çalıştı, bir ilişki eklemeye çalışıyordum. Bunu yaptım kezVarlık Çerçevesi 4 Yalnızca Kod Hata "Tür başına birden fazla nesne kümesi desteklenmiyor"
public virtual PocoB pocoB { get; set; }
, aşağıdaki hata almaya başladı:
Multiple object sets per type are not supported. The object sets 'PocoA_DbSet' and 'PocoB_DbSet' can both contain instances of type 'PocoA'.
Yani önümüzdeki ben ilişki tanımlanmadı çünkü benim sorunum olduğunu düşünmüş ve bu mirası veritabanı kullanıyordum Birincil ve yabancı anahtarlarda 'Id' soneki yerine 'fk/pk' öneki. Bu yüzden herhangi bir davranış değişikliği ile, yukarıda belirtilen sanal yönteme aşağıdaki veriler ek açıklama eklendi:
[RelatedTo(Property="PocoB", ForeignKey="fkPocoB")]
Ben bu işi yapmak için değiştirilmesi gerekir ne için bir kayıp gerçekten değilim.
"PocoA" ve "PocoB" sınıflarınızı sağlayabilir misiniz? Ayrıca, ilgili haritalama sınıfları. – Charlino
Sorun bulundu. Yazım hatasıydı. PocoB için DbSet sınıfım DbSet 'olarak bildirildi. –
Çözümünüzü bir yanıt olarak göndermelisiniz ve kabul etmelisiniz ... Bu soru cevapsız listeden çıkarılacaktır :) – forsvarir