日期:2014-05-20  浏览次数:20792 次

急, 关于Linq排序问题

数据库数据如下
ID, UserName
1   aa
2   bb
3   cc
4   dd
5   ff
6   gg
7   dd
8   fg
9   dd
10  hh
...

请问使用Linq如何让UserName等于dd的排在前,其它排在后面,先谢啦..
------解决方案--------------------
其实也就是按UserName分组 求和 排序 linq 正在想怎么写 sql到很简单
------解决方案--------------------
自己继承  IEqualityComparer,建一个自己的比较器,然后调用linq的orderby,参考http://blog.csdn.net/ycxjex2006/article/details/6515068
这是distinct的,道理一样
------解决方案--------------------
不用比较器实现方法

        public class Student
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public string Sex { get; set; }
        }
         //辅助类
        public class NewStudent
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public string Sex { get; set; }
            public int Row { get; set; }
        }     
        static void Main(string[] args)
        {
            List<Student> listStudent = new List<Student>() { 
                new Student() { ID = 2, Name = "aa", Sex = "女" },
                new Student() { ID = 1, Name = "bb", Sex = "男" },
                new Student() { ID = 3, Name = "cc", Sex = "女" },
                new Student() { ID = 4, Name = "dd", Sex = "男" },
                new Student() { ID = 6, Name = "ee", Sex = "女" },
                new Student() { ID = 5, Name = "dd", Sex = "男" },
                new Student() { ID = 7, Name = "xx", Sex = "男" },