我正在使用LINQ编写查询 - 一个查询显示所有活跃客户,另一个查询显示所有活跃客户和非活动客户。
if(showall)
{
var prod = Dataclass.Customers.Where(multiple factors ) (all inactive + active)
}
else
{
var prod = Dataclass.Customers.Where(multiple factors & active=true) (only active)
}
我可以只使用一个查询吗?问题是,在两个查询中都会重复多个因素
感谢
答案 0 :(得分:3)
var customers = Dataclass.Customers.Where(multiple factors);
var activeCust = customers.Where(x => x.active);
我真的不明白这个问题。我不想让它成为一个单行,因为它会使代码不可读
答案 1 :(得分:1)
我假设您正在努力减少往返次数?
如果“多个因素”相同,您可以在第一次查询后过滤活跃用户:
var onlyActive = prod.Where(p => p.active == true);
答案 2 :(得分:0)
您是否只是使用您的第一个查询来返回所有客户?如果不是,你将两次返回活跃用户。
答案 3 :(得分:0)
我考虑的选项