C#:生成运行时查询并执行

本文关键字:查询 执行 运行时 | 更新日期: 2023-09-27 18:21:59

我一直在做一个项目,客户的要求是根据用户的要求向用户提供解析RSS Feed in XML Format的配置访问权限。在选择了不同的参数之后,生成一个查询(LINQ to XML),并且像Value.StartsWith/EndsWith/Contains这样的所有过滤器都是未知的。可以有不受限制的滤波器,但不能在上述三个(StartsWith/EndsWith/Contains)中。我在一个String变量中有这个查询。

我的问题就是说,我们可以在用户选择后执行运行时生成的查询吗?查询看起来更像这个

xmldoc.Descendants("item")
      .Where(c =>c.Element("description").Value.StartsWith("some text") 
             && c.Element(description).Value.Contains("some text") 
      .Select(c => c.Element(description).Value).Single();

如果有人知道这一点,这可能吗。如果是,我下一步应该去哪里。感谢

C#:生成运行时查询并执行

是的,这是可能的。我最喜欢的变体是使用PredicateBuilder来动态构建查询。