小编m g*_*arg的帖子

子集合的表达式列表<string> .Any

我正在使用表达式树构建泛型linq查询.在子集合上创建表达式时我很困惑.由于类型不兼容,方法调用会爆炸.通常我知道要放在那里,但Any()方法调用让我感到困惑.我尝试了所有我能想到的类型而且没有运气.任何帮助,将不胜感激.

这是我的实体类:

public class Story : Entity
{
    public string Author { get; set; }

    public IList<string> Contributors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我要生成表达式树的查询:

var stories = new List<Story>();
stories.Where(p => p.Author.Contains("Test") || p.Contributors.Any(c => c.Contains("Test")));
Run Code Online (Sandbox Code Playgroud)

到目前为止我得到了什么

public interface IFilterCriteria
{
    string PropertyToCompare { get; set; }
    object ValueToCompare { get; set; }
    FilterOperator FilterOperator { get; set; }
    bool IsList { get; set; }
    Expression Expression { get; set; }
}

public static IQueryable<T> Filter<T>(this IQueryable<T> query, IList<IFilterCriteria> filterCriterias, …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda expression-trees

5
推荐指数
1
解决办法
3767
查看次数

标签 统计

c# ×1

expression-trees ×1

lambda ×1

linq ×1