如何在C#

时间:2018-06-26 14:14:36

标签: c# linq

我有一个linq查询,我想根据以下条件获取单个记录-

  1. 选择column_A(int),column_B(string)
  2. 根据Column_A选择最大值行

我尝试了此查询-

var result = this.context.Table1
  .Where(x => x.Id == SomeId)
  .Select(s => new { 
     s.column_A, 
     s.column_B })
  .Max(item => item.column_A); 

但是我不确定这不是一个有效的查询。有人可以让我知道正确的方法吗?同样在此查询之后,我想获得下面两个字段的值,

var sequence = result.column_A
var index = result.column_B

1 个答案:

答案 0 :(得分:5)

您总是可以这样做:

var result = this.context.Table1
         .Where(x => x.Id == SomeId)
         .OrderByDescending(x=>x.columnA)
         .Select(s => new { s.column_A, s.column_B })
         .FirstOrDefault();

对于Min(),您可以使用.OrderBy而不是.OrderByDescending