我是使用Linq的新手,无法使SqlMethods.Like功能正常工作。
这是我的简化示例:
List<string> mylist = new List<string>();
mylist.Add("100");
mylist.Add("101");
mylist.Add("102");
mylist.Add("103");
mylist.Add("104");
mylist.Add("105");
mylist.Add("106");
mylist.Add("107");
var filtered = mylist.Where(x => SqlMethods.Like(x, "10%"));
foreach (var record in filtered)
{
textBox1.Text += record + "\n";
}
我的名为filtered的变量返回空。我错过了什么?
如果我使用x.Equals(“100”),我会得到结果。
答案 0 :(得分:8)
答案 1 :(得分:1)
在您的情况下使用:
var filtered = mylist.Where(x => x.Contains("10"));
答案 2 :(得分:1)
您可以使用包含作为示例吗?
var filtered = mylist.Where(x => x.Contains("10"));
如果您 确实 想要SQL LIKE
,您可以使用System.Data.Linq.SqlClient.SqlMethods.Like(...)
,LINQ-to-SQL映射到LIKE
在SQL Server中。
答案 3 :(得分:0)
您可以使用Contains operator
代替