我有一个表Parameters
,其中包含Id
,Name
,TableName
,ColumnName
等列。该数据库还包含多个“系列数据”表,这些表包含多个(可能是数百个)列,包括Timestamp
列。我不拥有db模式。所以我无法改变这一点。
用户必须通过GUI提供Name
的{{1}},Parameter
和StartTime
。业务逻辑必须返回一系列数据。
如何获取名称为EndTime
和param.TableName
的列和表中的数据?
我目前正在使用这样的开关语句:
param.ColumnName
这种重复似乎非常错误。
有更好的方法吗?
答案 0 :(得分:1)
您可以使用字符串形式的信息构建查询,然后执行它:
return db.ExecuteStoreQuery<double>(
"SELECT {0} FROM {1} WHERE [Timestamp] BETWEEN {2} AND {3}",
columnName,
tableName,
startTime,
endTime).ToList();
皮特