2010-05-08 61 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