我正在使用 Npgsql 在 Postgres 数据库上发出参数化的 PostGIS 查询。问题是 Npgsql 使用简写符号转换所有参数化变量,而 PostGIS 在某些情况下不理解转换变量。
例如,假设原始查询以此开头:
ST_GeometryFromText('POLYGON((:x :y,...
Npgsql 把它变成这样:
ST_GeometryFromText('POLYGON((((1278594)::int4) ((1206979)::int4),...
那是行不通的。如果可以省略演员表,它会起作用,如下所示:
ST_GeometryFromText('POLYGON((1278594 1206979,...
显然有UseCast
一个参数的属性,但它不是每个 NpgsqlParameter.cs 可设置的。
除了动态构建我的查询之外,我还有其他选择吗?