2016-01-20 16 views
1

我有一種情況,我想計算客戶的總交易量。我可以在一個MySQL查詢中完成,但我不知道在linq sql中這樣做。如何轉換linq計數?

select c.name, count(r.custid) 
from receipt r left join in cust c on (c.custid=r.custid) 
group by r.custid 

我該如何將它轉換爲linq sql?

+0

你想要做什麼,我無法理解。你問關於LINQ SQL,但你的示例查詢是一個原始的SQL?你想知道該查詢的linq等價物嗎? –

+0

我想要顯示名稱和計數 預期結果。 name ||計數 david || 3 solomon || 4 joseph || 1 – Jerrime25

+0

@AhmedGalal:考慮到這個問題的參與,這看起來不像我的重複。我並不是說重複*沒有被問到 - 但我不認爲就是這樣。 –

回答

3

我不會從SQL開始......我首先想到你在計算什麼,這基本上是與客戶匹配的組中的收據記錄數。這聽起來像你想要的東西,如:

var query = from customer in db.Customers 
      join receipt in db.Receipts 
       on customer.CustomerId equals receipt.CustomerId 
       into customerReceipts 
      select new { customer.Name, Count = customerReceipts.Count() }; 

注意,與許多「左連接」,在LINQ的例子,我們不使用customerReceipts.DefaultIfEmpty(),因爲我們只想要計數 - 這應該是0,如果沒有收據那個客戶。

+0

你能幫我解決這個問題嗎? http://stackoverflow.com/questions/35641821/how-to-convert-sql-count-order-by-to-linq-count-order-by – Jerrime25