首页 > 解决方案 > 在 EntityCore 中使用 Postgre 的 lpad

问题描述

我有一个需要 leftpad 的查询——我遇到的问题是使用string.PadLeft()它时会导致查询在 C# 代码中执行,而不是在 SQL 中执行。

例子:

response.FirstOrDefault(p => p.Number.ToString().PadLeft(4, '0') == filter.Slug)

Npgsql/EntityCore 中是否有办法利用 Postgre 的lpad功能,以便查询可以执行 SQL 端?

标签: c#postgresqlentity-framework-corenpgsql

解决方案


目前不支持此功能,但应该很容易实现。您能否在https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL上打开一个请求此问题的问题?

同时,作为一种解决方法,您可以使用原始 SQL来调用该函数,然后在需要时使用 LINQ 进行组合。


推荐阅读