2010-05-08 59 views
0

我需要一個LINQ to Entities查詢或lambda表達式用於以下語句。LINQ to Entities查詢計數和通過在兩個表上加入group by

SELECT 
    at.Name, 
    Count(a.AssetTypeId) as CountofAssets, 
    at.AssetTypeId 
FROM 
    AssetTypes at, Assets a 
WHERE 
    at.AssetClassId = 7 
GROUP BY 
    at.Name,at.AssetTypeID 
+0

您是否有意進行交叉連接? – 2010-05-08 07:04:07

+0

編輯: 我忘了添加一個WHERE子句中的表..請參見下面 SELECT at.Name, 計數(a.AssetTypeId)改變的SQL語句CountofAssets, 在at.AssetTypeId FROM AssetTypes,資產 WHERE at.AssetClassId = 7, at.AssetTypeId = a.AssetTypeId GROUP BY at.Name,at.AssetTypeID – samsur 2010-05-08 07:34:42

回答

3

試試這個:

var assetTypes = context.AssetTypes.Where(a => a.AssetClass.Id == 7).Select(a => new { a.Name, a.AssetTypeId, CountOfAssets = a.Asset.Count()).ToList(); 

我希望你有你的基地外鍵和正確創建的模型圖。

+0

感謝您的解決方案Lukled。該模型圖有適當的組織和您的解決方案作品 – samsur 2010-05-09 05:26:38