我對C#項目工作使用LINQToSQL,但現在我有以下查詢一個問題:集團和計數Linq中的問題
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);
正如你可以看到我在做一個LEFT OUTER JOIN
和分組由CustomerID
,一切順利到目前爲止。但是當我看到結果時,我意識到沒有任何Order
的Customers
在它們的Count
字段中具有「1」。
這是爲什麼?在這些情況下,Count
字段應該有一個「0」,我做錯了什麼?
,我發現這個問題在這裏:
linq-count-query-returns-a-1-instead-of-a-0
linq-to-sql-joining-query-returning-1-instead-of-0
但他們都不一直對我很有幫助,我希望有人能幫忙,謝謝提前。
謝謝您的回覆。但這只是我的問題:從'.Count()'方法,我無法從'訂單'表訪問任何字段,這阻止我知道它是否有任何訂單 – Dante
啊 - 由CustomerID而不是'lf1組'或' '來訪問加入的表格。 – eouw0o83hf