[英]LINQ Subquery
我需要對數據庫表(Period)中的時間段和表(Invoice)中的發票清單進行一次LINQ查詢,這些清單均在該期間的開始日期和結束日期之內。 兩個表之間沒有鍵引用,如何執行Invoice子查詢?
我正在嘗試執行以下操作:
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()
));
var periodViewList =
(from p in db.DataContext.Periods
select new PeriodView(
p.Name,
p.StartDate,
p.EndDate,
db.DataContext.Invoices.Where(i => i.InvoiceDate >= p.StartDate && i.InvoiceDate <= p.EndDate).Count()
)).ToList();
我假設PeriodView構造函數看起來像這樣
public PeriodView (string name, DateTime startDate, DateTime endDate, int invoiceCount) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.