Tüm ilgili varlıkları (her ikisi -> 1 FKs ve -> N FK) yüklemek isteyen kodumda belirli bir sorgum var çünkü içerik bundan hemen sonra atılacak. .EF Kodu: İsteğe bağlı ilişkide çalışmaz dahil et
params Expression<Func<MyItem, object>>[] includes
numaralı genel bir "Sorgu" yöntemini kullandım ve sonra bunları dahili olarak zincirler. Bu bölüm iyi çalışıyor.
sorgu şuna benzer:
var item = facade.Query<MyItem>(
c => c.Childs.Select(x => x.Parent),
c => c.Childs.Select(x => x.SubChild1),
c => c.Childs.Select(x => x.SubChildNotWorking),
c => c.Childs.Select(x => x.SubChild2),
c => c.Childs.Select(x => x.SubChild3),
c => c.Childs.Select(x => x.SubChildrens)
).FirstOrDefault(c => c.Name == name);
(SubChildNotWorking yapılandırmasına yerleştirilen) çalışmıyor özellik için haritalama: içermektedir tüm Of
this.HasMany(scnw => scnw.Childs).WithOptional(c => c.SubChildNotWorking).HasForeignKey(c => c.MyForeignKey);
, sadece SubChildNotWorking
doesn' Aslında işe yarıyor. Geri dönen nesne ile hata ayıklayıcısını denetlerken, tüm özelliklerdeki proxy'leri görüyorum. Proxy'leri açmak bana tüm diğer ilişkiler için doğru veriyi verir ve SubChildNotWorking
özelliği için "Objectcontext zaten istisna kaldırılmıştır".
I nokta mümkün tek fark diğerleri WithRequired yapılandırılmış olmayan null FKs ise SubChildNotWorking
(DBContext DB ve WithOptional yapılandırmasına null kolonla) null FK olmasıdır.
Veritabanı ayrıca Kod İlk ile oluşturulmayan ve onun kurallarını izlemeyen eski bir DB'dir, ben yalnızca eşlemeleri DbContext dosyasında yaptım. Her şey iyi çalışıyor.
Nezaketsiz FK'lerde istekli yüklemelerin işe yarayıp yaramadığını anlamaya çalışıyorum ama bu konuda herhangi bir belge bulamadım.
Bu bir hata mı, yoksa amaçlanan davranış mı? Ama en önemlisi bunu nasıl çözebilirim?
Teşekkürler.
? O zaman işe yarıyor mu? – Slauma
Hayır. Ya işe yaramıyor. –
SQL'in doğru görüp görmediğini kontrol edebilirsiniz (var sql = facade.Query (c => c.Childs.Select (x => x.SubChildNotWorking)) ToString(); ') ve sorguyu el ile sınayın. SSMS beklenen sonuç satırlarını döndürürse. –
Slauma