【问题标题】:Dynamic where clause in dapperdapper 中的动态 where 子句
【发布时间】:2011-10-15 12:15:16
【问题描述】:

是否可以使用 dapper 即时添加和删除条件?我需要这个来实现用户驱动的过滤。对每个过滤器进行查询是不可行的,因为组合太多。

【问题讨论】:

    标签: c# orm dapper


    【解决方案1】:

    在最基本的层面上,您可以在 StringBuilder 中动态构建 TSQL - 添加额外的 and c.Name = @name 等。不用担心额外的参数;将它们全部发送 - 库检查命令并且不添加任何明显未使用的参数。对于这个特定场景,还有第二个更新的 API,但如果不检查,我不记得具体细节(而且我不在电脑旁)。我可以稍后尝试添加更多细节(假设 Sam 没有)。

    【讨论】:

    • 我目前正在将 sql 构建为字符串。问题是我在 WHERE 中使用了许多 IN。有些有时是空集合,因此它错误地将空集合传递给它。理想情况下,如果集合中有要过滤的项目,我只希望添加 IN 子句。
    • @NabilS 但如果你不 add 那部分 where,它应该仍然可以正常工作 - 但我会调查
    • 感谢 Sam,正是我正在寻找的东西。我将如何处理一个子句中的多个或。它们只会根据条件添加。据我所知,这在 API 中是不可能的。
    • @MattiasNordqvist 没有;只要实际输入是通过参数处理的,它们应该是(我在答案中鼓励)
    猜你喜欢
    • 1970-01-01
    • 2021-10-20
    • 2012-03-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多