LINQ中的订单问题

vik*_*tor 3 c# linq asp.net asp.net-mvc

我从控制器传递下一个代码生成的数组:

public ActionResult GetClasses(bool ajax, string kingdom)
        {
            int _kingdom = _taxon.getKingdom(kingdom);

            var query = (from c in vwAnimalsTaxon.All()
                         orderby c.ClaName
                         select new { taxRecID = c.ClaRecID, taxName = c.ClaName }).Distinct();

            return Json(query, JsonRequestBehavior.AllowGet);
        }
Run Code Online (Sandbox Code Playgroud)

查询列表应该是有序的,但它不起作用,我得到数组中错误排序的类的名称,因为我看到它调试名称没有被排序.视图只是一个自动加载的下拉框,所以我几乎可以肯定问题在于行动.你看错了吗?我错过了什么吗?

gro*_*gel 10

我认为gmcalab几乎就在那里.它不起作用的原因是Distinct打破了订购.因此,您需要与订单区分开来.但这意味着您必须按新属性名称排序:

var query = (from c in vwAnimalsTaxon.All()
    select new { taxRecID = c.ClaRecID, taxName = c.ClaName }
).Distinct().OrderBy(t => t.taxName); 
Run Code Online (Sandbox Code Playgroud)