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

标签 c# sql entity-framework linq

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

例如

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)中执行

最佳答案

发布 @Fabio 给出的评论和 @CodeNotFound作为引用答案。

在 EntityFramework 版本 6.2.0 中:

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

关于c# - 在输入文本中有多个 % 运算符的 LINQ 中等效的 SQL LIKE 运算符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852955/

相关文章:

c# - Rhino mock .Repeat.Any() 不适合我

c# - 测试 Controller Get() 方法的最佳方法

sql - 从分组查询中删除连接操作

c# - return 内部 using 语句

c# - 在C中,单和&单|有效以避免短路?还请给出一些在C#中相同的实用程序示例。

c# - 选择 View 模型时如何在 IQueryable 中添加新的 where 条件?

php - Doctrine - ManyToOne 与表之间

sql - 如何更改duckdb R中的数据约束

c# - 提供者未返回 ProviderManifest 实例

asp.net-mvc - 带有继承的 MVC 5 脚手架使用了错误的实体集