首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式将LINQ查询转换为正确描述linq表达式的可读英文文本?

如何以编程方式将LINQ查询转换为正确描述linq表达式的可读英文文本?
EN

Stack Overflow用户
提问于 2010-06-09 00:27:38
回答 1查看 460关注 0票数 1

我正在做一个项目,它使用Albahari的PredicateBuilder库http://www.albahari.com/nutshell/在运行时动态创建linq表达式。我想找到一种方法,在运行时将这个动态创建的Expression>类型的linq谓词转换为可读的英语语句。

从采购中的p

选择p

对于这个linq语句,我希望在运行时动态生成一个英文描述,如下所示:

“您正在搜索价格大于100并且描述不是自行车的购买”。

是否有任何已经存在的库可以实现这一目标,请记住,我正在使用PredicateBuilder动态生成where谓词。如果不存在解决方案,您将如何着手构建解决方案?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-06-09 03:29:25

这引起了我的注意,所以我downloaded ExpressionSerializationTypeResolver.csExpressionSerializer.cs,然后我:

代码语言:javascript
复制
class Purchase
{
    public decimal Price {get;set;}
    public string Description {get;set;}
}

..。

代码语言:javascript
复制
var purchases = new List<Purchase>() { new Purchase() { Price = 150, Description = "Flute" }, new Purchase() { Price = 4711, Description = "Bike" } };

Expression<Func<IEnumerable<Purchase>>> queryExp = () => from p in purchases
    where p.Price > 100 && p.Description != "Bike"
    select p;

ExpressionSerializer serializer = new ExpressionSerializer();
XElement queryXml = serializer.Serialize(queryExp);

然后我遇到了问题,但也许您可以对查询的非常大的表达式树做些什么?你可以在here上找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2999270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档