0

データベースにテーブルがあります。NumOfView という名前の列の最大値を取得したいと考えています。私はこのコードを使用しました:

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

動作しますが、同じ最大値が 2 つ以上ある場合は動作せず、次のメッセージが表示されます。

シーケンスに複数の要素が含まれています

私は今どうすればいい?あなたの答えはとても役に立ちます。ありがとう

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

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 に答える