Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
如何在linq中对多个表应用GROUPBY_Linq_C# 4.0_Linq To Sql_Linq To Entities - Fatal编程技术网

如何在linq中对多个表应用GROUPBY

如何在linq中对多个表应用GROUPBY,linq,c#-4.0,linq-to-sql,linq-to-entities,Linq,C# 4.0,Linq To Sql,Linq To Entities,我在linq有这样的疑问 var result = from item1 in context.ServicePriceInsertData join item2 in context.GroupMasterInsert on item1.G_Id equals item2.Group_Id j

我在linq有这样的疑问

   var result = from item1 in context.ServicePriceInsertData
                                 join item2 in context.GroupMasterInsert
                                 on item1.G_Id equals item2.Group_Id
                                 join item3 in context.EmployeeServices
                                 on item1.Service_Id equals item3.E_ServiceId

                                 into dept
                                 from item4 in dept.DefaultIfEmpty()

                                 select new 
                                 {

                                     Service_Name = item1.S_Description,
                                     Group_Name = item2.Group_Name,
                                     ServiceId = item4.E_Id == null ? 1 : item4.E_Id

                                 };
现在我需要按服务和组名称分组计算ServiceId。
请帮帮我?

这没有经过测试,但请尝试。。我希望它能帮助你,让你了解如何在linq中分组和计数。欲知详情


展示你的班级模型。连接应使用导航属性完成。我们不知道你有哪一个。另外:你尝试了什么?我已经编辑了我的查询。看一看可能会帮助你理解这个问题。
        var result = from item1 in context.ServicePriceInsertData
                     join item2 in context.GroupMasterInsert on item1.G_Id equals item2.Group_Id
                     join item3 in context.EmployeeServices on item1.Service_Id equals item3.E_ServiceId
                     group new {  item1.S_Description, item2.Group_Name, item1 } by new { item.S_Description } into g

                     select new
                     {

                         Service_Name = g.Key.S_Description,
                         Group_Name = g.Key.Group_Name,
                         Counted =  (int?)g.Count()
                     };