2017-06-04 86 views
-1

我想在LINQ to得到的maxDate where子句。如果我尝试下面,它会引发错误。获取最大日在LINQ查询

var dt1 = dtCurTopSQL.AsEnumerable() 
    .Where (l => 
     l.Field<DateTime>("SAMPLE_TIME").Max() >= DateTime.Now.AddSeconds(lastxminutes)) 

错误:

Error CS1929 'DateTime' does not contain a definition for 'Max'

+0

要读出错误消息。 – SLaks

+0

@SLaks它只是不适用于此语法。 –

+1

_为什么不呢?什么happens_ – SLaks

回答

2

.Max()只能对一个集合,而不是一个领域。

你需要先计算最大值,从整个集合:

var maxDate = dtCurTopSQL.Max(r => r.Whatever); 

然后,您可以使用该变量在其他查询。

+0

抛出Error“的DataTable多年平均值包含定义'Max'' –

+0

啊;那么你需要'AsEnumerable()'。 – SLaks

+0

当我使用喜欢这个'var dt1 = dtCurTopSQL.AsEnumerable() 。Where(l => dtCurTopSQL.Max(r => r.Field (“SAMPLE_TIME”))> = DateTime.Now.AddSeconds(lastxminutes ))' –