Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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中按组获取总记录_C#_.net_Linq_Entity Framework - Fatal编程技术网

C# 在Linq中按组获取总记录

C# 在Linq中按组获取总记录,c#,.net,linq,entity-framework,C#,.net,Linq,Entity Framework,我在SQL中有一个查询,希望将其转换为Linq。我的问题是: select count(tbs.tbsid) as CNTSeats,tbm.BusNo from tdp_tourpackageschedule tps join tdp_tourpackage tp on tp.TourID = tps.FK_TourID join tdp_tourbusseats tbs on tbs.tbsid = tps.fk_tbsid join tdp_tourbusmaster tbm on tbm

我在SQL中有一个查询,希望将其转换为Linq。我的问题是:

select count(tbs.tbsid) as CNTSeats,tbm.BusNo
from tdp_tourpackageschedule tps
join tdp_tourpackage tp on tp.TourID = tps.FK_TourID
join tdp_tourbusseats tbs on tbs.tbsid = tps.fk_tbsid
join tdp_tourbusmaster tbm on tbm.tbid = tbs.fk_tbid
where fk_tdid = @FKTDID and fk_TourID = @FKTourID and IsOpen = 1
group by tbm.BusNo
我尝试了以下代码:

var tourAvail = (from ts in entities.tdp_TourPackageSchedule
                 join tp in entities.tdp_TourPackage on ts.FK_TourID equals tp.TourID
                 join tbs in entities.tdp_TourBusSeats on ts.FK_TBSID equals tbs.TBSID
                 join tb in entities.tdp_TourBusMaster on tbs.FK_TBID equals tb.TBID
                 where ts.FK_TDID == TDID && ts.FK_TourID == TourID && ts.IsOpen == 1
                 group tb by tb.BusNo into cnt
                 select new
                 {
                     //BusNo = cnt.bu
                     //Count = cnt.Select(x => x.tdp_TourBusSeats).Distinct().Count()
                 });
我不知道如何计数记录,任何人都可以帮助我吗?

请:

var tourAvail = (from ts in entities.tdp_TourPackageSchedule
                 join tp in entities.tdp_TourPackage on ts.FK_TourID equals tp.TourID
                 join tbs in entities.tdp_TourBusSeats on ts.FK_TBSID equals tbs.TBSID
                 join tb in entities.tdp_TourBusMaster on tbs.FK_TBID equals tb.TBID
                 where ts.FK_TDID == TDID && ts.FK_TourID == TourID && ts.IsOpen == 1
                 group tb by tb.BusNo into cnt
                 select new
                 {
                     BusNo = cnt.Key,
                     Count = cnt.Count()
                 }).ToList();

你能试试cnt.Count(x=>x.SomeId>0)吗?@J.Steen很好地解释了SQL和LINQ:)@J.Steen,我的错,我想我太累了。对不起。@gdoron不需要道歉。我只是不同意