-2

linqでメニューテーブルの最大parentIDを受け取りたいです。私はこのコードを使用します:

var orderMenu = (from M in conn.Menus.ToList()
                                    where M.ParentID == _type
                                    select M.ParentID).Max();

しかし、表示エラー:

Sequence contains no elements

(テーブルは空かもしれません)

4

2 に答える 2

6

クエリは完全に冗長です。

M.ParentID == _typeあなたは、そのような要素が存在するかどうかに応じて、Max何もない(観察されたエラー)またはのいずれかになるすべての要素を求めています。_type

于 2013-02-27T13:22:30.097 に答える
1

たとえば、最大値、またはコレクションに何も存在しない場合はゼロを返したい場合は、とDefaultIfEmpty()組み合わせて使用​​することをお勧めします。Max()

var orderMenu = (from M in conn.Menus.ToList()
                                select M.ParentID).DefaultIfEmpty(0).Max();
于 2013-02-27T13:23:25.987 に答える