我如何在 C# 中为数据仓库生成动态查询?

How i can generate dynamic queries for a Data Warehouse in C#?

我不是 C# 专家。目前我正在开发一个桌面应用程序,用于为数据仓库构建动态查询(用于报告)。有多个表,其中包含多个列。没有什么可以预先假设。我的问题是我应该如何生成动态 sql 语句(对于多个表、列、连接、where's、group by's 等)

您是否从用户那里得到了关于他们想要什么的任何意见?如果是这样,请使用它来限制 sql 语句中的 columns/tables。例如,如果他们正在查找特定日期的客户记录,那么您将执行 SELECT * FROM CustomerData WHERE CustomerID=@CustomerID AND Date = @Date,其中 @CustomerID@Date 是用户的输入。

我认为 Linq 会对您有所帮助。这是一种针对 SQL 创建查询的非常灵活的方法,可以轻松地将变量合并到查询中。这似乎是一个很好的起点:MSDN article on Linq