簡體   English   中英

Lambda表達式中SQL WHERE的等價性是什么?

[英]What's the equivalence of an SQL WHERE in Lambda expressions?

這就是我所擁有的:

decimal sum = _myDB.Products.Sum(p => p.Price).GetValueOrDefault();

我還有兩個日期: DateTime startDateTime end
我想檢索開始和結束之間所有產品價格的總和,但我無法弄清楚如何將變量合並到lambda方程中。

如何將變量合並到lambda方程中以給出一些規范?

使用Enumerable.Where

decimal sum = _myDB.Products
                   .Where(p => (p.Date >= start) && (p.Date <= end) )
                   .Sum(p => p.Price)
                   .GetValueOrDefault();
 decimal sum = _myDB.Products
.Where(p => p.Start >= mystartDate && p.End <= myenddate)
.Sum(p => p.Price)

請原諒我的語法。 但是,我希望你明白這個想法。

編輯:在里德的建議后糾正。
舊代碼(不正確)

 decimal sum = _myDB.Products
.Sum(p => p.Price)
.Where(p => p.Start >= mystartDate && p.End <= myenddate)
_myDB.Products
.Where(p => p.start >= "somevalue")
.Where(p => p.end <= "somevalue")
.Sum(p => p.Price).GetValueOrDefault();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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