运行多年的LINQ查询

时间:2014-06-30 16:21:50

标签: linq linq-to-sql

我有以下查询,我需要在2010年至2016年之间运行多年。

以下查询中的FirstValidYear是我从其他查询获得的整数年份值。无论2010年的价值如何,那么我正在寻找一种方法来运行2010年到2016年的查询(在FirstValidYear和FirstValidYear +6之间)

var ValidationList = (
                      join t1 in table1 
                      join t2 in table2 on t1.colID equals t2.ID
                      where t1Field.IsActive && // Run this for FirstValidYear , FirstValidYear +1, FirstValidYear +2 , ..., FirstValidYear + 6)
                      select new
                      {
                          t1.Name,
                          Year = FirstValidYear, // Needs to be incremented for each run
                          needsNewTest = !isValidYear(
                              FirstValidYear,
                              Convert.ToDateTime("6/1/" + (FirstValidYear - 1).ToString()))
                      }
                     ).ToList();

FirstValidYear是一个数据库列,有一年说2010年。所以查询需要运行2010年,2011年,... 2016年。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您的原始代码似乎缺少某些内容,因此我只会包含相关内容:

int firstValidYear = GetFirstValidYear();
int sixYearsLater = firstValidYear + 6;

where x.WhatIsTheComparisonField >= firstValidYear &&
      x.WhatIsTheComparisonField <= sixYearsLater