订购asp.net不订购

时间:2014-06-03 18:46:24

标签: c# vb.net linq

为什么我的Linq没有通过MenuID订购?

Dim categories = Aggregate pgmAccess In rvdDB.PgmAccesses 
                 Where pgmAccess.OperatorID = RData.UserName.ToString.ToUpper 
                 Join menuDef In rvdDB.MenuDefs 
                 On menuDef.ProgramName Equals pgmAccess.Program 
                 Order By menuDef.MenuID 
                 Select menuDef.MenuDescription Distinct 
                 Into ToList()

2 个答案:

答案 0 :(得分:1)

完全允许

Distinct中断排序(即不一定按照传递的顺序返回结果)。

换句话说,要按MenuID订购数据,您需要在 Order By之后Distinct

答案 1 :(得分:1)

您首先订购记录,然后使用Distinct运算符,这会破坏您的订购。如果您想要有序的结果,您应首先使用distinct,然后按顺序排序。