加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 05:41:29 所属栏目:百科 来源:网络整理
导读:在Web应用程序中,我有 linq To Object查询来进行数据提取/合并. 为了便于调试,我想直接在生成的 HTML中显示linq查询结构;就像是 Bananas -Where color='blue' -Where size'20cm' -Take 25 实际上,表达树的表示. 可能吗?怎么样? 解决方法 只需在查询上调用T
在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很重要,但这会打开一大堆蠕虫;如果你想做的话,请确保你真的需要它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读