Unterschied zwischen && und in dem Zustand, in entity framework query
Unterschied zwischen der und-Bedingung und zwei where-Bedingung in entity framework query
Code 1
Habe ich mit zwei where-Bedingung in meine Abfrage
dbContext.Projects.Where(p=>p.ProjectId!=ProjectId).Where(p=>p.Name==Name)
.SingleOrDefault();
code 2
Habe ich mit && Bedingung ohne die Verwendung von zwei where-Bedingung
dbContext.Projects.Where(p=>p.ProjectId!=ProjectId &&
p.Name==Name).SingleOrDefault();
- Was ist der Unterschied zwischen code1 und code2????
Den beiden Abfragen return gleichen Wert. aber ich weiß nicht, die Unterschiede. Bitte erklären Sie mir, welches besser ist. und warum?
- auch Sie würde nicht identisch sein, wenn Ihre Benutzer projectid gleich dem projectid überprüft
- wie? können Sie erklären, etwas mehr? ich verstehe nicht,
- werfen Sie einen Blick auf die generierte sql-Anweisung, und Sie werden wissen - ich nehme an, Sie werden identisch, also kein Unterschied.
- nevermind - ich habe es komplett falsch verstanden
- Sie möchten wissen, der Unterschied in diesem Beispiel, oder Sie Frage, über pros und cos für die Verwendung von zwei
where
statt&&
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie öffnen Sie Ihre Abfrage in
LinqPad
Sie werden sehen, dass beide Abfragenwird das Ergebnis sowohl in
Gibt es keinen Unterschied weder in der Leistung noch in der SQL-Abfrage Struktur.
Aus der Dokumentation
Also die zweite
where
wird nur angewendet werden, um die Datensätze surviging die erstenwhere
- die identisch ist mit der && expression baute man im code 2.Finden Sie unter: https://msdn.microsoft.com/de-de/library/bb534803%28v=vs.110%29.aspx
Beiden Abfragen sind identisch. Aber
Query 2
wird Ihnen eine bessere Leistung, als&&
wird Ihnen helfen, in Kurzschluss. In der ersten Abfrage, erstewhere
erbringt das Ergebnis, und das wird gegeben werden, 2.where
- Klausel und dann wird es bewerten das Ergebnis basiert auf der Eingabe. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.