我的数据库中有一个表。我想获取名为 NumOfView 的列的最大值。我使用了这段代码:
var advert=(from ad in storedb.Ads
where ad.AdScope == "1"
select ad.NumOfView).Max();
它可以工作,但是当有两个或多个相同的最大值时它不起作用并且出现此消息:
序列包含多个元素
我现在该怎么办?您的回答将非常有帮助。谢谢
我的数据库中有一个表。我想获取名为 NumOfView 的列的最大值。我使用了这段代码:
var advert=(from ad in storedb.Ads
where ad.AdScope == "1"
select ad.NumOfView).Max();
它可以工作,但是当有两个或多个相同的最大值时它不起作用并且出现此消息:
序列包含多个元素
我现在该怎么办?您的回答将非常有帮助。谢谢
您可以尝试以下方法:
var advert = storedb.ads
.Where(a => a.AdScope == "1")
.OrderByDescending(a => a.NumOfView)
.First();
var advert = storedb.ads
.Where(a => a.AdScope == "1")
.Select(a => a.NumOfView)
.Max()
.first();
请看一个例子:
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();
}