2010-06-29 7 views

Antwort

11

Verwenden Sie normale .NET-Methoden. Zum Beispiel: (. Oder EndsWith oder Contains)

var query = from person in people 
      where person.Name.StartsWith("apple") // equivalent to LIKE 'apple%' 
      select person; 

LINQ to SQL werden diese in den entsprechenden SQL übersetzen.

Dies wird auch in Punktnotation arbeiten - es gibt nichts Magisches Abfrageausdrücke:

// Will find New York 
var query = cities.Where(city => city.Name.EndsWith("York")); 
0

name.contains ("apple");

5

Sie benötigen StartsWith, Contains oder EndsWith zu verwenden, je nachdem, wo die Zeichenfolge angezeigt werden können. Zum Beispiel:

var query = from c in ctx.Customers 
      where c.City.StartsWith("Lo") 
      select c; 

finden Sie alle Städte, die mit "Lo" beginnen (z. B. London).

var query = from c in ctx.Customers 
      where c.City.Contains("York") 
      select c; 

alle Städte, die "York" (zB New York, Yorktown)

Source

0

Ich benutze item.contains enthalten ("Kriterien"), aber es funktioniert nur dann effizient, wenn Sie konvertieren beide nach unten, Kriterien und Artikel wie folgt:

string criteria = txtSearchItemCriteria.Text.ToLower(); 

IEnumerable<Item> result = items.Where(x => x.Name.ToLower().Contains(criteria));