Ich muss eine LINQ-Abfrage für einen Zeitraum aus einer Datenbanktabelle (Zeitraum) und eine Liste von Rechnungen aus einer Tabelle (Rechnung) durchführen, die in das Start- und Enddatum des Zeitraums fallen. Es gibt keinen Schlüsselverweis zwischen den beiden Tabellen. Wie kann ich die Unterabfrage für Rechnungen durchführen?
Ich versuche, etwas Ähnliches wie das Folgende zu tun:
var query = (from p in db.DataContext.Periods
// Subquery i in db.DataContext.Invoices
let InvoiceAmount = i.Where(t => t.InvoiceDate >= p.StartDate && t.InvoiceDate <= p.EndDate)
select new PeriodView
(
p.Name,
p.StartDate,
p.EndDate,
InvoiceAmount.Count()
));