Lassen Sie uns sagen, ich habe eine solche Struktur:EF6 eifrig Laden innen POCO
- Branche: Id
- Gruppen: Id
- Branch: BranchId, GroupId, Da Till
Relations sind Branch 1..N BranchGroup 1..1 Group
, so dass die erzeugte Branch
Klasse eine ICollection<BranchGroup> BranchGroups
Navigationseigenschaft hat.
Und es ist eine Eigenschaft innerhalb Branch
POCO, wiederkehrende Strom Gruppen (etwas vereinfacht):
public List<Group> Groups => BranchGroups.Where(bg => bg.Since <= DateHelper.Current &&
bg.Till >= DateHelper.Current)
.Select(bg => bg.Group).ToList();
ich es nennen und db wird mit Tausenden von Anfragen, die jeweils für eine Gruppe explodierte. Ist es möglich, es irgendwie zu optimieren, ohne Zugriff auf dbContext
(oder zumindest aktuellen Kontext von innerhalb der Entität zu erreichen)?
UPD: einfachste reale Abfrage sieht wie folgt aus:
public List<Group> Groups => BranchGroups.Where(bg => bg.Since <= DateHelper.Current &&
bg.Till >= DateHelper.Current)
.Select(bg => bg.Group)
.Where(g => !g.Deleted).ToList();
Eine solche Abfrage sollte keine DB-Abfrage pro Gruppe erzeugen. Du hast gesagt, dass es vereinfacht ist, also hilft vielleicht ein Blick auf die vollständige Abfrage ein wenig. – Evk
@Evk sicher, aktualisiert – Xandrmoro