2017-06-04 82 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 ))' –