Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用LINQ从多个具有Count和Group By的表中选择列?_C#_Sql_Linq - Fatal编程技术网

C# 如何使用LINQ从多个具有Count和Group By的表中选择列?

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

如何使用LINQ从多个具有Count和Group By的表中选择列

这是我在C中的SQL查询,我想将其转换为LINQ查询

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

使用联接可以吗?