使用linq到IDictionary的动态查询<string,object =“”>?</string,>

时间:2009-08-31 10:11:25

标签: c# .net linq-to-sql

此问题与this question类似,但不完全相同。

我可以对linq-to-sql数据上下文进行动态查询,并将结果返回为IDictionary&lt; string,object&gt;键是列的名称?

有点像(不编译,但说明了意图)

IDictionary<string, object> data = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
data = db.ExecuteQuery<IDictionary<string, object>(queryString, params).ToDictionary(
    k=>nameOfColumn,
    k=>k
)

显然我在data = db.ExecuteQuery ...中完全脱离了地图 我觉得executeQuery不是我应该使用的,因为这个已经尝试映射到对象。对于这个特殊用例,我不希望这样。

1 个答案:

答案 0 :(得分:2)

您需要包含要实现的对象类型;怎么样:

var data = db.ExecuteQuery<SomeType>(queryString, params)
          .ToDictionary(st => st.SomeKey);