如何编写具有以下sql相同功能的linq,如:
select * from table where col like param?
答案 0 :(得分:4)
Table.Where(t => t.col.Contains(param));
......应该这样做。
答案 1 :(得分:4)
来自:http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/16/linq-to-sql-like-operator.aspx
深入研究System.Data.Linq.SqlClient命名空间,我发现了一个名为SqlMethods的小助手类,在这种情况下它非常有用。 SqlMethods有一个名为Like的方法,可以在Linq to SQL查询中使用:
var query = from c in ctx.Customers
where SqlMethods.Like(c.City, "L_n%")
select c;
此方法获取要检查的字符串表达式(在此示例中为客户的城市),并提供与要在SQL中编写LIKE子句的方式相同的测试模式。
使用上面的查询生成了所需的SQL语句:
SELECT CustomerID, CompanyName, ...
FROM dbo.Customers
WHERE City LIKE [L_n%]
答案 2 :(得分:2)
var selection = records.Where (r => r.Col.Contains (param));
答案 3 :(得分:0)
var item = from SomeCollection where someCondition select I;
答案 4 :(得分:0)
您可以在Linq中使用与Sql Like相同的contains子句。您可以找到以下代码。
var query = from e in emp
where e.name.Contains("Mark")
select e;