我想不出把它写成单个查询的好方法。
int count1 = query1.Count();
int count2 = query2.Count();
return count1 > count2;
请注意,我对编写单个查询的方式感兴趣,该查询返回布尔值并在服务器上进行一次评估。
请注意,我对使用LINQ而不是SQL编写此内容感兴趣。
答案 0 :(得分:4)
尝试
return query1.Count() > query2.Count();
尝试在同一服务器调用中运行两个不相关的查询是不值得的,但这里是:
SELECT CASE WHEN (SELECT COUNT(*) FROM Products)
> (SELECT COUNT(*) FROM Orders)
THEN CAST(1 as bit)
ELSE CAST(0 AS BIT)
但是,我严重怀疑你可以让LINQ创建这种查询。您必须改为调用存储过程。
答案 1 :(得分:0)
有什么问题
var result= query1.Count() > query2.Count();
return result; // result is of type bool
编辑:
如果您真的想在服务器上执行一个查询,可以使用DataContext.ExecuteQuery来执行动态查询。