Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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# 使用多个group by元素联接并选择额外的列_C#_Sql_Linq_Linq To Sql - Fatal编程技术网

C# 使用多个group by元素联接并选择额外的列

C# 使用多个group by元素联接并选择额外的列,c#,sql,linq,linq-to-sql,C#,Sql,Linq,Linq To Sql,你能帮我把这个从sql转换成linq吗?我是linq新手,一直在尝试,但没有成功。让我知道这是否可行 SELECT max(Products.ProductID) as ProductID, Products.SKU, Products.Name, Products.RRP, Products.Price, max(Products.FrontTall) as FrontTall, ProductsCateg

你能帮我把这个从sql转换成linq吗?我是linq新手,一直在尝试,但没有成功。让我知道这是否可行

SELECT max(Products.ProductID) as ProductID, Products.SKU, Products.Name, Products.RRP, Products.Price,
                     max(Products.FrontTall) as FrontTall,  
                     ProductsCategory.SortOrder, 
                     Products.ColorValue, 
                     max(Products.ColorImg) as ColorImg, 
                     Products.IsPrimary, 
                     Products.Visible 
                     FROM Products INNER JOIN ProductsCategory ON Products.ProductID = ProductsCategory.ProductID  
                     WHERE  (ProductsCategory.CategoryID =  5 ) AND (Products.Visible = 1) AND (Products.Inactive = 0) AND (Products.Deleted = 0 or Products.Deleted is null)  
                    GROUP BY SKU, Products.Name, RRP, Price, ColorValue, ProductsCategory.SortOrder, IsPrimary, Visible
这就是我正在尝试的

 var products = (from p in db.Products
                            join cp in db.ProductsCategories on p.ProductID equals cp.ProductID
                            where cp.CategoryID == catId && p.Visible == true && p.Inactive == false && (p.Deleted == null || p.Deleted == false) 
                            group p by new { 
                                p.SKU,
                                p.Name,
                                p.RRP,
                                p.Price,
                                p.ColorValue,             
                                p.IsPrimary,
                                p.Visible,
                                cp.SortOrder
                            } into grouped
                            select new { 
                                ProductID,
                                FrontTall,
                                ColorImg,
                                SKU = grouped.Key.SKU,
                                Name = grouped.Key.Name,                               
                                RRP = grouped.Key.RRP,
                                Price = grouped.Key.Price,
                                ColorValue = grouped.Key.ColorValue,                               
                                IsPrimary = grouped.Key.IsPrimary,
                                Visible = grouped.Key.Visible,
                                SortOrder = grouped.Key.SortOrder
                            })
                         .OrderBy(x => x.SortOrder);
我需要获得ProductID、FrontTall和ColorImg字段值,而不包括在group by中

提前谢谢。 基什

select new {ProductID = grouped.Max(x => x.ProductID)}