Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LINQ中的部分字符串匹配_Linq_C# 4.0 - Fatal编程技术网

LINQ中的部分字符串匹配

LINQ中的部分字符串匹配,linq,c#-4.0,Linq,C# 4.0,考虑下面的SQL语句- SELECT * FROM Customers WHERE FirstName LIKE '%IS%' 这将搜索名字中包含“是”的客户,对吗 我喜欢同样的说法在林克- var names = from cust in customers where cust.FirstName ...... 我无法具体说明这种情况。 有人能帮我解决这个问题吗 感谢分享您的时间和智慧。大多数LINQ->SQL转换器将从c#中获取一些常规方法,并将它们转换为SQL。Contains是一种

考虑下面的SQL语句-

SELECT * FROM Customers WHERE FirstName LIKE '%IS%'
这将搜索名字中包含“是”的客户,对吗

我喜欢同样的说法在林克-

var names = from cust in customers where cust.FirstName ......
我无法具体说明这种情况。 有人能帮我解决这个问题吗


感谢分享您的时间和智慧。

大多数LINQ->SQL转换器将从c#中获取一些常规方法,并将它们转换为SQL。Contains是一种非常常用的翻译方法,可与linq2sql和EF一起使用

var names = from cust in customers 
            where cust.FirstName.Contains("IS")
            select cust;
编辑:(不区分大小写)

试试这个:

var names = from cust in customers where cust.FirstName.Contains("IS")

对于INSTIVE
包含的大小写
,您可以将字符串转换为相同大小写(小写或大写),或者如果可以使用


虽然这种方法的性能增益可以忽略不计,但它将确保进行适当的不区分大小写的比较。使用
StringComparison
enum进行不区分大小写的字符串比较始终是一种很好的做法。您可能会看到:

@IrfanRaza您使用的是什么ORM?Luke它工作正常,我发现搜索区分大小写。谢谢你,伙计@IrfanRaza是的,这将进行精确的字符匹配,您可以通过以下方式进行不区分大小写(参见编辑)谢谢Jen,您的答案与Luke相同。没问题:)Lukes anwser更准确,因此您应该将其标记为正确的anwser。
var names = from cust in customers where cust.FirstName.Contains("IS")
var names = from cust in customers 
            where cust.FirstName.IndexOf("IS",StringComparison.InvariantCultureIgnoreCase) >= 0
            select cust;