Basit bir gezinme özelliğine sahip A
var. B
. Herhangi bir A
örneği için, B
'un birkaç ilgili bin örneğini bekliyoruz. Ben böyleEF, EntityCollection'u oluşturur, ancak ben (düşünün) IQueryable'i istiyorum
var statY = A.B.Where(o => o.Property == "Y");
var statZ = A.B.Where(o => o.CreateDate > DateTime.Now.AddDays(-1));
olarak agrega işlemleri yaparken sadece ilgileniyorum, yerine
foreach(var x in A.B) { ... }
:
ben gibi bir şey diyoruz dava yok EF, B'ye binlerce referans gönderir ve bu işlemleri hafızada yapar. Bunun nedeni, gezinme özelliklerinin EntityCollection kullanmasıdır. Bunun yerine, mümkünse bu sorguları SQL düzeyinde gerçekleştirmeyi isterim.
Geçerli önsezim, Gezinme Özellikleri'nin gitmek için doğru yol olmadığı olabilir. EF'e bağlı değilim, bu yüzden diğer yaklaşımlara açığım. Fakat eğer mümkünse bunu EF altında yapmanın doğru yolunu bilmek isterim.
(ı EF4'ü kullanıyorum.)
Bu, A.Where (a => a.B.CreateSourceQuery() öğesinden geçerken işe yarar mı? (Herhangi bir = (o => o.Property == "Y")); veya bu durumda bir JOIN önerilir mi? –