C# 如何合并表达式<;Func<;T、 TPropertyType>&燃气轮机;进入我的生活?
我向我们的服务基类添加了一个方法,以获取特定项(类型为T的项)的所有未报告实例 上面的工作就像我想象的那样。。。但我不知道现在该去哪里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();
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();
}