我正在使用 LINQToSQL 处理 C# 项目,但现在我遇到了以下查询的问题:
var groupByQuery = (from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID into lf1
from or in lf1.DefaultIfEmpty()
group c by c.CustomerID into g
select new
{
CustomerID = g.Key,
Count = g.Count()
}
).OrderBy(x => x.Count);
如您所见,我正在按 进行 aLEFT OUTER JOIN
和分组,CustomerID
到目前为止一切顺利。但是当我看到结果时,我意识到那Customers
没有任何,在他们的领域Order
有一个“1” 。Count
这是为什么?在这些情况下,该Count
字段应该有一个“0”,我做错了什么?
我在这里发现了这个问题:
linq-count-query-returns-a-1-instead-of-a-0
linq-to-sql-joining-query-returning-1-instead-of-0
但他们都没有对我有帮助,我希望有人能提供帮助,提前谢谢你。