如何将sql查询转换为linq查询

时间:2009-10-07 12:09:26

标签: linq

如何将此sql查询转换为linq查询?在asp.net

 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 个答案:

答案 0 :(得分:1)

根据您的评论,我已将此更新为包含类别名称。请注意,查询将它们选择为匿名对象 - 如果您具有属性的实际类,则可以通过使用具有属性赋值的类构造函数来更改它。请注意,我还给了一个不同的名字。因为你已经有了Pid,我认为pid会太混乱。

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