gpt4 book ai didi

c# - 如何使用 Dapper 使用 WILDCARD

转载 作者:行者123 更新时间:2023-11-29 13:40:06 25 4
gpt4 key购买 nike

如何使用 Dapper 在 postgre DB 中使用 LIKE 通配符?我有以下代码:

string query = "SELECT name, index FROM article WHERE prefiks LIKE :prefix ;";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();

其中 searchingValue 是一个简单的字符串。我尝试了一些我已经找到的组合:

return conn.Query<myModel>(query , new { prefix = "%" + searchingValue + "%" }).ToArray();

string query = "SELECT name, index FROM article WHERE prefix LIKE '%' || :prefix || '%'"
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();

但没有任何作用。我认为上述解决方案适用于 MS SQL,但不适用于 postgre;

最佳答案

以下应该有效:

string query = "SELECT name, index FROM article WHERE prefiks LIKE :prefix ;";
searchingValue = "%" + searchingValue + "%";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();

或者简单地说,将串联组合在一行中:

return conn.Query<myModel>(query , new { prefix = "%" + searchingValue + "%" }).ToArray();

或者,您可以在 SQL 本身中使用字符串连接:

string query = "SELECT name, index FROM article WHERE prefiks LIKE CONCAT('%', :prefix, '%') ;";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();

注意:我不是 postgresql 专家;所以你可能需要调整一些语法;以防万一。

This问题讨论了 postgresql 的大小写敏感性;可能会有帮助。

关于c# - 如何使用 Dapper 使用 WILDCARD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com