C# LINQ比较2个表,只返回上一项,不返回全部

C# LINQ比较2个表,只返回上一项,不返回全部,c#,linq,C#,Linq,所以…每个工作站都有许多发票,我的Linq语句将工作站连接到发票,并对它们进行比较。 我只希望我的LINQ选择最近的发票(为该工作站生成的上一张发票) ATM比较所有发票和DateTime OneYearAgo=DateTime.Now.AddYears(-1)的任何发票(对于该工作站); 变量选择对象= (来自db.Work_站点中的工作站) 在db.Invoices.Where(i=>i.Invoices\u日期)中加入发票 DateTime OneYearAgo = DateTime

所以…每个工作站都有许多发票,我的Linq语句将工作站连接到发票,并对它们进行比较。 我只希望我的LINQ选择最近的发票(为该工作站生成的上一张发票)

ATM比较所有发票和
DateTime OneYearAgo=DateTime.Now.AddYears(-1)的任何发票(对于该工作站);
变量选择对象=
(来自db.Work_站点中的工作站)
在db.Invoices.Where(i=>i.Invoices\u日期)中加入发票
   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();
  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();