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

发布于 2024-07-25 02:26:39 字数 275 浏览 8 评论 0原文

这就是我所拥有的:

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

我还有两个日期:DateTime startDateTime end
我想检索开始和结束之间所有产品价格的总和,但我不知道如何将变量合并到 lambda 方程中。

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

Here's what I have:

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

I also have two dates: DateTime start, DateTime end
I want to retrieve the sum of all of the product prices between start and end, but I can't figure out how to incorporate the variables into the lambda equation.

How do you incorporate variables into a lambda equation to give it some specification?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

回首观望 2024-08-01 02:26:39

使用 Enumerable.Where

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

Use Enumerable.Where

decimal sum = _myDB.Products
                   .Where(p => (p.Date >= start) && (p.Date <= end) )
                   .Sum(p => p.Price)
                   .GetValueOrDefault();
梦幻之岛 2024-08-01 02:26:39
 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)
 decimal sum = _myDB.Products
.Where(p => p.Start >= mystartDate && p.End <= myenddate)
.Sum(p => p.Price)

Pardon my syntax. But, I hope you get the idea.

EDIT: Corrected after Reed's suggestion.
Old code (incorrect)

 decimal sum = _myDB.Products
.Sum(p => p.Price)
.Where(p => p.Start >= mystartDate && p.End <= myenddate)
如梦初醒的夏天 2024-08-01 02:26:39
_myDB.Products
.Where(p => p.start >= "somevalue")
.Where(p => p.end <= "somevalue")
.Sum(p => p.Price).GetValueOrDefault();
_myDB.Products
.Where(p => p.start >= "somevalue")
.Where(p => p.end <= "somevalue")
.Sum(p => p.Price).GetValueOrDefault();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文