Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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
C# 实体框架以及在何处使用like_C#_Entity Framework 4_Where - Fatal编程技术网

C# 实体框架以及在何处使用like

C# 实体框架以及在何处使用like,c#,entity-framework-4,where,C#,Entity Framework 4,Where,我正在使用以下说明: db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale == code); 对于不区分大小写的manage,我希望使用“like”操作符 你怎么能做到 谢谢您可以使用Contains(): 在LINQ To Entity中,您可以使用StartsWith、EndsWith和Contains等函数来代替,如如果您想进行等式比较,我建议两种方法: db_user = db.CBR_User.FirstOrDe

我正在使用以下说明:

db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale == code);
对于不区分大小写的manage,我希望使用“like”操作符

你怎么能做到

谢谢

您可以使用
Contains()


在LINQ To Entity中,您可以使用StartsWith、EndsWith和Contains等函数来代替,如

如果您想进行等式比较,我建议两种方法:

db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.Equals(code, StringComparison.OrdinalIgnoreCase));


如果您不想这样做,您可以使用StartsWith、Contains等参数StringComparison.OrdinalingOrecase。

我知道这是一个老话题,但要扩展一下刚才说的内容

db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.ToUpper().Contains(code.ToUpper()));

如果您使用ToUpper选项,它将充当不区分大小写的搜索。如果您有这种嗜好,您可以使用ToLower做同样的事情。

-1 Contains()可以用来代替SQL之类的。但是,它区分大小写,没有内置的不区分大小写的等效项。查看MSDN文章中关于Contains的备注部分:Contains在SQL中被翻译为类似于,不区分大小写
WHERE Name LIKE“%rob%”
返回的结果与
WHERE Name LIKE“%rob%”
返回的结果相同。事实上
LIKE
的大小写敏感性取决于数据库中的排序规则设置。您提到的MSDN链接与EF生成的SQL无关。LIKE的大小写敏感度确实基于数据库中的排序规则。然而,我发现这个问题的原因正是因为Contains的行为是区分大小写的,即使列的排序规则不区分大小写,我也在寻找Contains的不区分大小写的替代方法。我还注意到,根据您的数据库(sql 2008)可能不区分大小写。是的,的确。。。这取决于数据库
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.ToUpper() == code.ToUpper());
db_user = db.CBR_User.FirstOrDefault(p => p.Codice_Fiscale.ToUpper().Contains(code.ToUpper()));