linq中的最大功能

时间:2013-02-27 13:20:28

标签: c# asp.net linq

我希望在菜单表中使用linq接收最大父ID。我使用这段代码:

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

但显示错误:

Sequence contains no elements

(表格可能为空)

2 个答案:

答案 0 :(得分:6)

查询完全是多余的。

您要求M.ParentID == _type的所有元素,因此Max将不是任何内容(观察到的错误)或_type,具体取决于此类元素是否存在。< / p>

答案 1 :(得分:1)

如果你想要返回say,max或者如果集合中没有任何内容,你可能想要使用DefaultIfEmpty()Max()

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