2017-07-14 6 views
0

Betrachten wir hier alles IQueryableEntity Framework, wie verwendet man IQueryable mit mehreren, wo in SQL übersetzt werden?

    ist
  1. Haben diese zwei Beispiele, die die gleiche SQL-Abfrage zu generieren?
  2. Mehrere hinzufügen Where wird in SQL als UND übersetzt?
  3. Gibt es eine Möglichkeit, mehrere Where verbunden als OR hinzuzufügen?

Beispiel 1:

client = client.Where(c => c.FirstName.StartsWith("F")); 
client = client.Where(c => c.LastName.StartsWith("T")); 
return client.ToList(); 

Beispiel 2:

client = client.Where(c => c.FirstName.StartsWith("F") AND c.LastName.StartsWith("T")); 
return client.ToList(); 

Antwort

1

Multiple WHERE-Klauseln gültig sind. Es ist äquivalent zu:

client = client.Where(c=> c.FirstName.StartsWith("F") && c.LastName.StartsWith("T")); 

Es wird in Ihrem Fall auf dem .ToList() Aufruf von SQL geschickt bekommen. Andere Fälle, in denen es ausgeführt wird, sind: .Any(), .First() /. Last() /. FirstOrDefault()/etc., .Count().

0

Es gibt verschiedene Möglichkeiten, mehrere Bedingungen in LINQ hinzuzufügen. Bitte klicken Sie auf here! um mehr darüber zu erfahren. Danke.

1

Try-Code

client = client.Where(c => (c.FirstName.StartsWith("F") && c.LastName.StartWith("T"))).ToList(); 

Oder Zustand Used

client = client.Where(c => (c.FirstName.StartsWith("F") || c.LastName.StartWith("T"))).ToList(); 
Verwandte Themen