在LINQ中进行搜索

时间:2015-12-14 13:36:08

标签: sql linq

如何在LINQ中搜索如下所述? 我想在我的文本框中输入类似“a%b%c%d%”的字符串,并希望得到SQL中的结果。

Select * 
from TableName 
Where ColumnName Like 'a%b%c%d%'

2 个答案:

答案 0 :(得分:0)

LINQ没有like运算符,所以你可以首先检查它是否包含a,b,c和d,然后检查a是否在开始,b在c之前,c在c之前。像这样:

from item in context.TableName
where item.ColumnName.StartsWith("a") && item.ColumnName.IndexOf("b") != -1
&& item.ColumnName.IndexOf("c") != -1 && item.ColumnName.IndexOf("d") != -1
&& (
    item.ColumnName.IndexOf("b") < item.ColumnName.IndexOf("c")
    && item.ColumnName.IndexOf("c") < item.ColumnName.IndexOf("d")
   )   
select item;

答案 1 :(得分:-1)

from item in context.TableName
where item.ColumnName.StartWith("a%") or item.ColumnName.StartWith("b%") or item.ColumnName.StartWith("c%") or item.ColumnName.StartWith("d%")   
select item;