簡體   English   中英

在Linq中按組獲取總記錄

[英]Getting Total Record by Group by in Linq

我在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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM