Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何合并表达式<;Func<;T、 TPropertyType>&燃气轮机;进入我的生活?_C#_Linq_Lambda - Fatal编程技术网

C# 如何合并表达式<;Func<;T、 TPropertyType>&燃气轮机;进入我的生活?

C# 如何合并表达式<;Func<;T、 TPropertyType>&燃气轮机;进入我的生活?,c#,linq,lambda,C#,Linq,Lambda,我向我们的服务基类添加了一个方法,以获取特定项(类型为T的项)的所有未报告实例 上面的工作就像我想象的那样。。。但我不知道现在该去哪里 public virtual IEnumerable<T> UnexportedToSun<TPropertyType>(Expression<Func<T, TPropertyType>> otherQuery) { var query = GetIQueryable();

我向我们的服务基类添加了一个方法,以获取特定项(类型为T的项)的所有未报告实例

上面的工作就像我想象的那样。。。但我不知道现在该去哪里

    public virtual IEnumerable<T> UnexportedToSun<TPropertyType>(Expression<Func<T, TPropertyType>> otherQuery)
    {
        var query = GetIQueryable();
        query = query.Where(x => x.SunExportDate == null);
        query = query //TODO: Add my other query
        return query.ToList();
    }
公共虚拟IEnumerable UnexportedToSun(表达式otherQuery)
{
var query=GetIQueryable();
query=query.Where(x=>x.SunExportDate==null);
query=query//TODO:添加我的其他查询
返回query.ToList();
}

有人能给我指出正确的方向吗?

如果您只需要添加更多过滤器,您可以再次拨打Where:

var query = GetIQueryable();
query = query.Where(x => x.SunExportDate == null);
query = query.Where(x => x.IsHappy);
return query.ToList();
这是LINQ的一个很好的特性——它是可组合的,所以您可以逐块构建。你也可以做其他事情。。。例如:

var query = GetIQueryable();
query = query.Where(x => x.SunExportDate == null);
query = query.Select(x => x.ValueA + x.ValueB);
return query.ToList(); // Will return a List<int> or whatever instead
var query=GetIQueryable();
query=query.Where(x=>x.SunExportDate==null);
query=query.Select(x=>x.ValueA+x.ValueB);
返回query.ToList();//将返回列表或其他内容
对于通用筛选器,您希望表达式返回bool::

public virtual IEnumerable<T> UnexportedToSun(Expression<Func<T, bool>> predicate)
{
    var query = GetIQueryable();
    query = query.Where(x => x.SunExportDate == null);
    query = query.Where(predicate);
    return query.ToList();
}
公共虚拟IEnumerable UnexportedToSun(表达式谓词)
{
var query=GetIQueryable();
query=query.Where(x=>x.SunExportDate==null);
query=query.Where(谓词);
返回query.ToList();
}

不错,非常感谢-这是我要找的第三个
var query = GetIQueryable();
query = query.Where(x => x.SunExportDate == null);
query = query.Where(x => x.IsHappy);
return query.ToList();
var query = GetIQueryable();
query = query.Where(x => x.SunExportDate == null);
query = query.Select(x => x.ValueA + x.ValueB);
return query.ToList(); // Will return a List<int> or whatever instead
public virtual IEnumerable<T> UnexportedToSun(Expression<Func<T, bool>> predicate)
{
    var query = GetIQueryable();
    query = query.Where(x => x.SunExportDate == null);
    query = query.Where(predicate);
    return query.ToList();
}