当前位置:编程学习 > C#/ASP.NET >>

linq排序,请帮忙

我在做一个东西,要用学号(字符串)排序,使用了oder by,但是结果仍然不对,顺序是乱的,将学号用convert.toint64改为整型后,发现还是不对 ,
var m = (from p in dc.all
                     where p.ClassInfoName == _class1
                     orderby Convert .ToInt64 ( p.StudentNo.Trim ().Substring (p.StudentNo .Length -2))
                     select new { p.StudentName, p.StudentNo, p.ClassInfoName }).Distinct();
想知道是为什么,怎么才能排对顺序呢? --------------------编程问答-------------------- var m = (from p in dc.all 
                    where p.ClassInfoName == _class1 
                    orderby p.StudentNo
                    select new { p.StudentName, p.StudentNo, p.ClassInfoName }).Distinct(); 
我觉得学号是字符串的话,这样就行了。。。
你所谓的乱的是什么意思?
给几个数据看看 --------------------编程问答-------------------- 可以考虑多个属性来排列 --------------------编程问答-------------------- 是不是你的学号,长度不一致? --------------------编程问答-------------------- orderby decing.. --------------------编程问答-------------------- 不需要转换成数值型 就能排序吧 --------------------编程问答-------------------- 因为你使用了Distinct  --------------------编程问答-------------------- Distinct是干嘛的啊?? --------------------编程问答-------------------- 用orderby,thenby这2个专门用于排序的语句把 --------------------编程问答-------------------- var m = (from p in dc.all
  where p.ClassInfoName == _class1
  select new { p.StudentName, p.StudentNo, p.ClassInfoName }).Distinct().OrderByDescending(s=>s.StudentNo)
在后面加上OrderByDescending(s=>s.StudentNo)
试试
--------------------编程问答-------------------- LINQ的排序跟T_SQL不太一样 应该是如下的   我有段时间对这个也很烦躁的
引用 4 楼 wuhongyan710 的回复:
orderby decing..
--------------------编程问答-------------------- 我是这么写的   查询的表不一样  自己注意以下
var assign = (from a1 in db.AssignInfo
              where a1.StudentID==a.StudentID orderby a1.AssignID descending
              a1).First();
return assign ; --------------------编程问答-------------------- --------------------编程问答--------------------                  var m =
                    dc.all
                    .Where(p => p.ClassInfoName == _class1)
                    .OrderBy(p => p.StudentNo)
                    .Distinct()
                    .Select(p => new p{
                        p.StudentName,
                        p.StudentNo,
                        p.ClassInfoName
                    });
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,