2016-06-26 14 views
0

Ich brauche meinen Kontext, um die sonns durch eine Bedingung, ich brauche die Zeilen, die nicht gelöscht (logisches Löschen).Entity Framework enthalten Elemente nur nach Bedingung

Ich habe verstanden, dass ich keine Bedingung zum Include hinzufügen kann; Ich möchte den Kontext filtern, aber es funktioniert nicht.

var aa = ctx.aa 
     .Include(t => t.vari) 
     .ToList() 
     .FirstOrDefault(); 

ctx.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1).ToList(); 

Dank!

+0

'ctx.vari.Where (bi => bi.ID == 10 && bi.Deleted == 1) .ToList();' Sie haben die bi für ID verpasst. Können Sie sonst den Fehler erwähnen, den Sie haben? – SilentCoder

+0

Sie haben Recht! (Ich denke, dass die Idee der Frage trotz des Fehlers klar war ....) –

+0

Gut zu hören. Dann kannst du für meinen Kommentar stimmen. ;) – SilentCoder

Antwort

1

Wie codelahiru & & hbulens wies darauf hin, können Sie die bi für ID verpasst.

Haftungsausschluss: Ich bin der Besitzer des Projekts Entity Framework Plus

Der Query IncludeOptimized Funktion mit umfassen und die Optimierung der Abfrageleistung bei gleichzeitig (Unterstützung EF5, EF6)

var aa = ctx.aa 
      .IncludeOptimized(t => t.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1)) 
      .FirstOrDefault(); 
filtern können

Dokumentation: EF+ Query IncludeOptimized

+0

Sieht wunderschön aus !! aber ich kann nicht haben EF Plus :( –

+0

Gibt es einen Grund, warum Sie nicht eine Drittanbieter-Bibliothek verwenden können? Der Code ist kostenlos und Open Source, also wenn Sie möchten, können Sie entweder die Quelle von GitHub oder kontaktieren Sie mich und ich werde senden Sie eine Zip-Datei mit nur der EF + Query IncludeOptimized Quellcode –

+0

Dank 'Sie sind so freundlich, ich werde meinen Chef fragen –

0

Dies ist nicht die performanteste Abfrage. Es wäre besser, die ToList fallen zu lassen()

var aa = ctx.aa.Include(t => t.vari).ToList().FirstOrDefault(); 

// You missed the variable before ID 
ctx.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1).ToList(); 
+0

genau was ich getan habe ... –

+0

Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". Wir bemühen uns, eine Ressource für Wissen zu sein. – abarisone

+0

@abarisone Normalerweise stimme ich Ihnen zu, aber der Umfang des Problems ist so klein, dass es wenig Erklärungsbedarf gibt (es war lediglich ein Tippfehler). – hbulens