Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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# 将此联接sql查询转换为linq_C#_Asp.net_Linq - Fatal编程技术网

C# 将此联接sql查询转换为linq

C# 将此联接sql查询转换为linq,c#,asp.net,linq,C#,Asp.net,Linq,如何将此sql查询转换为linq select sum(a.Count),b.PeriodDesc from dbo.tbl_Sample a,dbo.tbl_Period b where a.PeriodID=b.PeriodID group by PeriodDesc tbl_时段-时段ID,时段描述 tbl_样本-ID、Count、PeriodID假设YourContext是在上下文中生成的,并且您在tbl_样本和tbl_样本之间具有导航属性,那么查询将如下所示: usin

如何将此sql查询转换为linq

 select sum(a.Count),b.PeriodDesc from dbo.tbl_Sample a,dbo.tbl_Period b 
 where a.PeriodID=b.PeriodID group by PeriodDesc 
tbl_时段-时段ID,时段描述

tbl_样本-ID、Count、PeriodID

假设
YourContext
是在上下文中生成的,并且您在
tbl_样本
tbl_样本
之间具有导航属性,那么查询将如下所示:

   using(var db = new YourContext())
   {
          var result = db.tbl_Sample.GroupBy(p=>p.tbl_Period.PeriodDesc)
          .Select(p => new {p.Key, p.Count()})
          //whateve you want to do ...
   }
请检查一下

var result = (from a in tbl_Sample
group a by a.PeriodDesc into abc                         
join b in tbl_Period on abc.FirstOrDefault().PeriodID equals b.PeriodID    
 select new ModelName {
   SumofCount = abc.sum(m => m.Count), 

   PeriodDesc = b.PeriodDesc 
 }).tolist();
试试这个

var joinedTables = from p in listPeriod
join s in listSample on p.PeriodID equals s.PeriodID
select new { p.PeriodDesc, s.Count };

var result = from p in joinedTables
group p by p.PeriodDesc into g
select new { PeriodDesc = g.Key, Sum = g.Sum(p=>p.Count)};
Ofc您必须使用正确的集合(或表格实体)更改
listPeriod
listSample

,Joseph Albahari和Ben Albahari是好朋友