嗨,我在使用 SqlKata 的 OrderByRaw 方法时发现了一个非常奇怪的错误。
var query = new Query("SoftwareVersions").OrderByRaw("string_to_array([version], '.')::int[] DESC")
还在这里测试了它https://sqlkata.com/playground/pgsql同样的错误。
问题在于 int 方括号,它们被转换为“列”,其中没有任何内容或只有 2 个引号,这是与 SqlKata 在运行时产生的结果完全相同的结果:
SELECT * FROM "SoftwareVersions" ORDER BY string_to_array("version", '.') :: int "" DESC
注意:在这里你可以看到 int 转换后我们有 2 个引号。
我的问题是如何使用 SQLKata 避免这种意外行为。