这个问题与this question相似,但并不完全相同。
我可以在linq-to-sql数据上下文中进行动态查询,并以IDictionary 返回结果,其中键是列名吗?
有点像这样(不编译,但说明了意图)
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不是我应该使用的东西,因为这个已经尝试进行到对象的映射。对于这种特殊的用例,我不想要那样。
最佳答案
您需要包括一个对象类型才能实现。怎么样:
var data = db.ExecuteQuery<SomeType>(queryString, params)
.ToDictionary(st => st.SomeKey);
关于c# - 使用linq到IDictionary <string,object>的动态查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1356773/