【发布时间】:2014-07-04 05:39:33
【问题描述】:
我正在尝试创建一个 LINQ 语句,它将给出开始日期和结束日期之间的最大天数。
所以我有这个声明,得到所有已关闭的问题:
var issuesClosed = whseTasks.Where(t => t.CompDate != null);
从这个问题列表中,我想找到每条记录的给定 issue.StartDate 和 issue.EndDate 之间的最大天数,然后选择天数最多的记录。
前:
1 |问题。开始日期 = 2014 年 7 月 3 日 | issue.EndDate = 7/5/2014 = 2 天
2 |问题。开始日期 = 2014 年 7 月 1 日 | issue.EndDate = 7/5/2014 = 4 天
3 |问题。开始日期 = 2014 年 7 月 1 日 | issue.EndDate = 7/6/2014 = 5 天
我想选择记录 3,因为它的天数最多。
【问题讨论】:
-
这是
linq to sql吗? -
意识到您要求的是Non-Sargable query。这将不使用索引并遍历每条记录。如果这是针对最终用户的,请记住您的用户体验。
-
@ErikPhilips - 我已经告诉人们这件事很长时间了,但从来不知道“sargable”这个词。感谢您扩展我的词汇量!