C# 如何使用LINQ从多个具有Count和Group By的表中选择列?
如何使用LINQ从多个具有Count和Group By的表中选择列 这是我在C中的SQL查询,我想将其转换为LINQ查询C# 如何使用LINQ从多个具有Count和Group By的表中选择列?,c#,sql,linq,C#,Sql,Linq,如何使用LINQ从多个具有Count和Group By的表中选择列 这是我在C中的SQL查询,我想将其转换为LINQ查询 string sqlProduct = string.Format(@"SELECT protype.idType, TypeName, **COUNT(idPro) as proNumber** FROM protype, product
string sqlProduct = string.Format(@"SELECT protype.idType, TypeName, **COUNT(idPro) as proNumber**
FROM protype, product
WHERE protype.idType=product.idType
**GROUP BY protype.idType, TypeName**
ORDER BY TypeName");
DataTable dt = new DataTable();
dt = Shop_Query.Select_Query(sqlProduct);
lvMenu.DataSource = dt;
lvMenu.DataBind();
试试这个:
var query = dbContext.Protypes.Join(dbContext.Products,
protype => protype.idType,
product => product.idType,
(protype, product) => new { Protype = protype, Product = product })
.GroupBy(s => new { s.Protype.idType, Product.TypeName })
.Select(s => new
{
IdType = s.First().Protype.idType,
TypeName = s.First().Product.TypeName,
Count = s.Count()
});
在这个查询中有很多假设
我假设您的Linq到Sql上下文是dbContext
我假设您的上下文类被命名为产品和原型
我假设TypeName字段属于Product表
现在您需要了解linq和linq使用联接可以吗?