簡體   English   中英

LINQ子查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM