【发布时间】:2014-03-20 13:17:02
【问题描述】:
我有一个动态的 Linq Select 形式的语句
var projection = result.AsQueryable().Select(string.Format("new({0},{1})",
model.XtabRow, model.XtabColumn));
这可以正常工作并生成匿名类型的 IQueryable。
但是我无法将其转换为 IEnumerable 以在其上使用 linq,因为 AsEnumerable 方法似乎丢失了。最后我不得不使用反射来提取字段值
一定有更好的方法 - 任何帮助都会很棒
谢谢
【问题讨论】:
-
这是因为要选择的列直到运行时才知道。选择返回一个 IQueryable
并且其中的值是正确的。但我无法访问结果,除非使用反射。我无法将 Iqueryable 转换为 Ienumerable -
这是动态 Linq - 你需要使用 System.Linq.Dynamic
标签: linq dynamic-linq