0

我的数据库中有一个表。我想获取名为 NumOfView 的列的最大值。我使用了这段代码:

var advert=(from ad in storedb.Ads
             where ad.AdScope == "1" 
             select ad.NumOfView).Max();

它可以工作,但是当有两个或多个相同的最大值时它不起作用并且出现此消息:

序列包含多个元素

我现在该怎么办?您的回答将非常有帮助。谢谢

4

3 回答 3

3

您可以尝试以下方法:

 var advert = storedb.ads
                    .Where(a => a.AdScope == "1")
                    .OrderByDescending(a => a.NumOfView)
                    .First();
于 2012-06-15T17:06:53.890 回答
2
var advert = storedb.ads
                    .Where(a => a.AdScope == "1")
                    .Select(a => a.NumOfView)
                    .Max()
                    .first();
于 2012-06-16T03:16:13.400 回答
1

请看一个例​​子:

private void button1_Click(object sender, EventArgs e)
{
    List<int> lista = new List<int>();
    lista.Add(1);
    lista.Add(2);
    lista.Add(2);
    lista.Add(3);
    lista.Add(3);
    var query = (from lt in lista
                 orderby lt descending
                 select lt).FirstOrDefault<int>();
    textBox1.Text = query.ToString();

}
于 2012-06-16T02:59:35.830 回答