所以...每个工作站都有许多发票,My Linq语句将工作站加入发票并将它们全部进行比较。 我只希望我的LINQ选择最新的发票(为该工作站生成的上一张发票)。
对所有发票进行比较,并且将返回< = 1年前今天的任何发票(针对该工作站)。我只希望它返回,如果每个工作站的先前发票是<今天12个月。
在之前的Q的帮助下,这就是我的所有......
DateTime OneYearAgo = DateTime.Now.AddYears(-1);
var SelectedObject =
(from workstation in db.Work_Sites
join invoice in db.Invoices on workstation.id equals invoice.Site_Id
where invoice.Invoice_Date <= OneYearAgo
select workstation).Distinct().ToList();
答案 0 :(得分:1)
DateTime OneYearAgo = DateTime.Now.AddYears(-1);
var SelectedObject =
(from workstation in db.Work_Sites
join invoice in db.Invoices.Where(i => i.Invoice_Date <= OneYearAgo)
on workstation.id equals invoice.Site_Id into g
where g.Any()
select workstation).ToList();
这将返回一年前至少有一张发票的工作站。