在输入文本中具有多个%运算符的LINQ中等效的SQL LIKE运算符是什么?

时间:2018-06-14 08:27:22

标签: c# sql entity-framework linq

要将SQL LIKE查询转换为在字符串的开头和结尾都有"%"(百分比)运算符的LINQ,我们使用Contains()方法。

e.g。

SELECT * FROM [User] WHERE Username LIKE '%test%'

等效的LINQ是:

var users = (from usr in Context.Users
            where usr.Username.Contains("test")
            select usr).ToList();

与输入文本中包含多个"%"(百分比)运算符的以下查询相同?

SELECT * FROM [User] WHERE Username LIKE '%test%email%'

感谢任何帮助。

注意:查询将在EntityFramework(版本6.1.3)中执行

2 个答案:

答案 0 :(得分:5)

发布@Fabio@CodeNotFound给出的评论作为参考答案。

在EntityFramework版本 6.2.0

var users = (from usr in Context.Users
            where DbFunctions.Like(usr.Username, "%test%email%")
            select usr).ToList();

答案 1 :(得分:-1)

检查此解决方案我认为您可以使用此方法获得答案。

参考链接:Tutorial