我有 2 张桌子,Terms
并且Site_Program_Term
:
Terms
列:Id、SiteId、Name、IsHoliday、DateStart、DateEnd、Year、IsActiveSite_Program_Term
列:Id、ProgName、SiteId、TermId、Year
使用上面的 2 个表,我需要显示输出主要是下面的列
Name, StartDate, EndDate, NumberOfPrograms
我得到了所需的输出,但“NumberOfPrograms”没有显示正确的值。它应该为我提供一组特定期限、年份和站点的所有程序的计数。
提前致谢。
下面是基本代码。
var terms = db.Terms.Where(t => t.SiteId == id && t.IsActive).ToList().Select(t => new
{
Id = t.Id,
SiteId = t.SiteId,
Name = t.Name,
IsHoliday = t.IsHoliday,
DateStart = t.DateStart,
DateEnd = t.DateEnd,
Year = t.Year,
PubProgram = (
db.Site_Program_Term
.Where (spt => spt.SiteId == id && spt.Year == t.Year)
.Select(s => s).Count()
),
}).OrderBy(n => n.DateStart).ToList();