如何在Linq查询中使用Like?

时间:2010-06-29 09:57:59

标签: linq

如何在LINQ中使用Like查询.... 在sql中例如..

name like ='apple';

感谢..

4 个答案:

答案 0 :(得分:11)

使用普通的.NET方法。例如:

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

(或EndsWithContains。)LINQ to SQL会将这些转换为适当的SQL。

这也适用于点符号 - 查询表达式没有什么神奇之处:

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

答案 1 :(得分:5)

您需要使用StartsWithContainsEndsWith,具体取决于字符串的显示位置。例如:

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

会找到所有以“Lo”开头的城市(例如伦敦)。

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

将找到所有包含“York”的城市(例如纽约,约克镇)

Source

答案 2 :(得分:0)

name.contains( “苹果”);

答案 3 :(得分:0)

我使用item.Contains(“criteria”),但是,只有当你转换为较低的标准和项目时,它才能有效地工作:

 string criteria = txtSearchItemCriteria.Text.ToLower();

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