2009-10-07 106 views
0

如何將此sql查詢轉換爲linq查詢?在asp.net如何將sql查詢轉換爲linq查詢

SELECT distinct P.Pid,P.Name,PC.categoryName, 
(select count(id) from POrderdetails where id=p.Pid)as detailsCount 
FROM PTable P INNER JOIN PCATEGORY PC ON PC.pcategoryId=P.pCategoryId 
ORDER BY detailsCount desc 

回答

1

根據你的評論,我已經更新這個包括類別名稱。請注意,查詢將它們選擇爲一個匿名對象 - 如果通過使用具有屬性賦值的類構造函數來替代實際的類,則可以更改該屬性。請注意,我也給了一個不同的名字。由於您已經有了Pid,我認爲pid會太混亂。

var products = PTable.Select(p => new { 
           Pid = p.Pid, 
           Name = p.Name, 
           DetailCount = p.Orderdetails.Count(), 
           Category = p.PCATEGORY.CategoryName 
         }); 
+0

對不起,我需要採取類別名稱也.. – Avinash 2009-10-07 12:36:11

+0

我已根據您的意見更新。 – tvanfosson 2009-10-07 13:42:48