2013-03-07 35 views
0

通过googling我做了以下select查询以获取列ID的最大值。Linq通过选择查询获取变量值

var result = (from rs in db.tradeFiles 

          select (rs.ID)).Max(); 

请让我知道这是一个查询是写取最大值列ID。

而为了从我的foreach循环以下面的方式,这也是行不通的数据。

foreach(var item in result) 
      { 

      } 

请让我知道什么是错误,什么是从选择查询中提取数据的正确方法。

回答

4

结果是值本身,只是使用它,没有必要遍历它。如果例如rs.ID列是int,则结果将是int

+0

如果VAR的结果=(从db.tradeFiles RS 选择( rs.ID))这是查询,那么我应该如何拉出个人ID值? – Freelancer 2013-03-07 13:04:55

+1

@freelancer from ... select'构造总是返回一个列表或结果(IEnumerable是确切的)。有些方法可以将这个列表缩小到1个项目,比如'First'和'Single'。 – Andrey 2013-03-07 13:10:07

+0

好的,谢谢你... – Freelancer 2013-03-07 13:13:41

1

Enumerable.Max无法枚举,它会返回您正在查找的值。

+0

如果var结果=(从rs在db.tradeFiles选择(rs.ID))这是查询,那么我应该如何拉出个人ID值? – Freelancer 2013-03-07 13:07:46

0

结果你会得到一个int值,因为你正在取最大值的列。它会给一个单一result.if你想利用价值了一些特定的ID,您只需打一个WHERE条件并选择value.like

(from rs in db.tradeFiles 
where rs.id==1 
select (rs.Name)); something like this..