OrmLite 不允许在 postgresql 查询中使用“@@”

OrmLite will not allow '@@' in postgresql query

我正在尝试使用 tsquery 为 postrgresql 添加参数化查询。

原始的 postgresql 看起来像:

and search @@ 'john' ::tsquery;

任何时候我尝试将它添加到查询中,例如:

query.And("search @@ 'john' ::tsquery");

它抛出它是潜在不安全片段的错误。

如何让它通过验证?

使用 C# string.Format 语法在 SQL 片段查询中索引数据库参数,例如:

query.And("search @@ {0}::tsquery;", request.SearchTerm);

您可以使用 UnsafeAnd 绕过 SQL 片段验证