Lambda表达式中SQL WHERE的等价性是什么?

Mat*_*att 3 c# asp.net-mvc lambda entity-framework

这就是我所拥有的:

decimal sum = _myDB.Products.Sum(p => p.Price).GetValueOrDefault();
Run Code Online (Sandbox Code Playgroud)

我还有两个日期:DateTime start,DateTime end
我想检索开始和结束之间所有产品价格的总和,但我无法弄清楚如何将变量合并到lambda方程中.

如何将变量合并到lambda方程中以给出一些规范?

Ree*_*sey 11

使用Enumerable.Where

decimal sum = _myDB.Products
                   .Where(p => (p.Date >= start) && (p.Date <= end) )
                   .Sum(p => p.Price)
                   .GetValueOrDefault();
Run Code Online (Sandbox Code Playgroud)

  • 在实施方面达成一致,但这样的查询在多行上更加清晰.排队点:) (6认同)