如果我只知道从中获取数据的表名和列名,我如何从实体框架获取数据?

时间:2012-06-19 20:13:09

标签: .net linq frameworks entity

我有一个表Parameters,其中包含IdNameTableNameColumnName等列。该数据库还包含多个“系列数据”表,这些表包含多个(可能是数百个)列,包括Timestamp列。我不拥有db模式。所以我无法改变这一点。

用户必须通过GUI提供Name的{​​{1}},ParameterStartTime。业务逻辑必须返回一系列数据。

如何获取名称为EndTimeparam.TableName的列和表中的数据?

我目前正在使用这样的开关语句:

param.ColumnName

这种重复似乎非常错误。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用字符串形式的信息构建查询,然后执行它:

return db.ExecuteStoreQuery<double>(
    "SELECT {0} FROM {1} WHERE [Timestamp] BETWEEN {2} AND {3}",
    columnName,
    tableName,
    startTime,
    endTime).ToList();

皮特