c# – 获取Linq To Objects查询的字符串表示形式

前端之家收集整理的这篇文章主要介绍了c# – 获取Linq To Objects查询的字符串表示形式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Web应用程序中,我有 linq To Object查询来进行数据提取/合并.
为了便于调试,我想直接在生成HTML显示linq查询结构;就像是
Bananas
  ->Where color='blue'
  ->Where size>'20cm'
  ->Take 25

实际上,表达树的表示.

可能吗?怎么样?

解决方法

只需在查询调用ToString即可.显然,你需要使用AsQueryable扩展方法将字符串构建为IQueryable,而不是IEnumerable.

这个例子:

var list = new int[] { 1,2,3,4,5 };

var query = list.AsQueryable()
    .Where(n => n % 2 == 0)
    .Take(25);

string querystring = query.ToString();

产生这个字符串:

System.Int32[].Where(n => ((n % 2) == 0)).Take(25)

如果你有自己特定的格式,而不是使用这个默认格式,那么you can handle it on your own很重要,但这会打开一大堆蠕虫;如果你想做的话,请确保你真的需要它.

猜你在找的C#相关文章