在我的實體框架的應用程序,我有一個實體,稱爲Invoice.cs
,這裏是什麼樣子:LINQ查詢來獲取未付發票
public class Invoice : IEntity
{
public Invoice()
{
Date = DateTime.UtcNow;
CreatedOn = DateTime.UtcNow;
}
public int Id { get; set; }
public decimal Amount { get; set; }
public decimal Discount { get; set; }
public DateTime Date { get; set; }
public bool IsDeleted { get; set; }
public bool IsSaleOrderInvoice { get; set; }
public InvoiceStatus Status { get; set; }
public DateTime CreatedOn { get; set; }
public DateTime? ModifiedOn { get; set; }
public int OrderId { get; set; }
public virtual Order Order { get; set; }
public virtual ICollection<Payment> Payments { get; set; }
}
public enum InvoiceStatus
{
Outstanding = 0,
Settled = 1,
Overpaid = 2
}
我試圖查詢數據庫獲取所有優秀的列表發票。一個優秀的發票是:
如果總對發票支付的款項的比發票金額少,那麼發票是優秀。
我卡在工作了,如果發票是優秀的或不是在我的LINQ查詢,目前看起來是這樣的:
var outstandingInvoices = from inv in _context.Invoices
where !inv.IsDeleted && inv.Date >= startDate && inv.Date <= endDate
select inv;
startDate
和endDate
是通過在過濾結果的參數。
+讓where子句 這樣你就可以inv.Amount檢查前總= inv.Payments.SUM(O => o.someamount) <>總 – m4ngl3r