动态Linq选择-如何提取结果 [英] Dynamic Linq Select -How to extract the results
本文介绍了动态Linq选择-如何提取结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个动态的Linq Select语句,形式为
I have a dynamic Linq Select statement of the form
var projection = result.AsQueryable().Select(string.Format("new({0},{1})",
model.XtabRow, model.XtabColumn));
这可以正常工作,并产生一个匿名类型的IQueryable.
This works fine and produces an IQueryable of Anonymous types.
但是我无法将其转换为IEnumerable以在其上使用linq,因为AsEnumerable方法似乎丢失了.我不得不使用反射来最终提取字段值
However I an unable to convert it into IEnumerable to use linq on it as AsEnumerable method seems to be missing. I had to use reflection to extract field values in the end
必须有更好的方法-任何帮助都很好
There must be a better way - Any help would be great
谢谢
推荐答案
您可以尝试这样的事情
var projection = result.AsQueryable().Select(string.Format("new({0},{1})",
model.XtabRow, model.XtabColumn));
var enumerableProjection = (from dynamic p in projection select p).AsEnumerable();
OR
var projection = result.AsQueryable().Select(string.Format("new({0},{1})",
model.XtabRow, model.XtabColumn));
var enumerableProjection = projection.Cast<dynamic>().AsEnumerable();
这篇关于动态Linq选择-如何提取结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文