【发布时间】:2020-09-11 03:42:58
【问题描述】:
我想使用 EFCore 创建一个 SQL 查询,如下所示。
FROM "Customers" AS c
where reverse("Phone") LIKE reverse('%#####');
ORDER BY 1
LIMIT @__p_2 OFFSET @__p_1
我正在尝试使用 LINQ,但此代码不起作用,而且我在 EF.Functions 中找不到反向方法
query = query.Where(c => c.Phone.Reverse().ToString() == $"{phone}%");
抛出错误
Message": "LINQ 表达式 'DbSet\r\n .Where(c => c.Phone\r\n .Reverse().ToString() == __Format_0)' 无法翻译。要么重写查询形式, 翻译,或通过插入显式切换到客户端评估 调用 AsEnumerable()、AsAsyncEnumerable()、ToList() 或 ToListAsync()。见https://go.microsoft.com/fwlink/?linkid=2101038 更多信息。
有没有办法使用 PostgreSQL/Npgsql 提供程序为 Entity Framework Core 创建反向函数查询。
【问题讨论】:
标签: postgresql entity-framework-core npgsql