c# - c# 代码中的动态 SQL 查询?

标签 c# cqrs

我在我的项目中使用 Dapper。很多时候我需要根据某些变量更改 SQL 查询。

例如:

public override QueryResult Handle(Query query) 
{
    var sql = "SELECT field FROM table";

    if(someModel.IncludeSomething){
        // add inner join something + add SELECT something.field
    }

    if(conditionN){...}

    return Connection.Query<QueryResult>(sql, query);
}

您如何在项目中使用动态 SQL 查询?

最佳答案

我遇到过同样的情况,开发带有动态过滤器、分组的自定义仪表板/报告,有时还需要与其他表连接。

由于存储过程方法在这种情况下表现不佳,我开发了自己的库 SqlKata ,一个提供上述要求的动态查询构建器,同时又不牺牲安全性和性能,因为它使用了参数绑定(bind)技术。检查一下,希望对您有所帮助:)

关于c# - c# 代码中的动态 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46478764/

相关文章:

c# - 泛型协变转换或转换为实型

c# - Sitecore 路径分析器 : System. InvalidOperationException:此 SqlTransaction 已完成;它不再可用

c# - 清除面板的背景图像

c# - 如何获得有关 CQRS 更改的即时反馈

domain-driven-design - 具有大数据集权限读取时的 CQRS

domain-driven-design - DDD、CQRS/ES 和微服务 是否应该根据微服务的 View 或聚合做出决策?

c# - 这是在 Nodatime 中时区之间转换的正确方法吗?

c# - 通用 Blazor 组件的编译器错误

c# - 可以给 Html.DropDownListFor() 选项标签一个值吗?

api - CQRS 和 DDD : File uploads