c# - 有没有办法在 Entity Framework 查询的 `Where` 部分进行转换?

标签 c# entity-framework linq casting entity-framework-6

需要说明的是,我指的不是执行 .Cast<T>关于 EF 调用的结果。

我正在尝试对数字字段实现部分搜索。

创建 SQL 脚本时,很容易将列转换为另一种数据类型:

SELECT Id
FROM Employees
WHERE CAST(Id AS VARCHAR) LIKE '%95%';

LINQ 查询中是否有任何等价物?

我无法修改我正在查询的实体的数据类型,并且 Id仅用于演示目的。

最佳答案

我不知道为什么 ToString 不起作用,但这对我有用。无需 SqlFunctions:

            context.Employees.Where(emp => emp.Id.ToString().Contains("95")).ToList();

关于c# - 有没有办法在 Entity Framework 查询的 `Where` 部分进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42139949/

相关文章:

javascript - 如何在浏览器关闭时删除cookie? ASP.NET核心,C#

c# - select 子句表达式问题

c# - Entity Framework Core 2.2 编译查询结构参数在本地评估

c# - Entity Framework 中的 "Not In"

c# - 字典将为空键

c# - 如何使用 LINQ 填充字典?

c# - Visual Studio 代码片段 : how to add logic in it?

c# - 有谁知道为什么这个 Razor 代码无法编译?

c# - C#属性类的继承

c# - 首先使用代码查找带有 Entity Framework 时间戳的更新条目