简体   繁体   English

无法使用System.Linq.Dynamic进行排序

[英]Cannot sort using System.Linq.Dynamic

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Dynamic;

namespace LinqTest
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Sample> sampleData = new List<Sample>() 
            { 
                new Sample{ ID=1, Name="V", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=45000M },
                new Sample{ ID=2, Name="F", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=400M },
                new Sample{ ID=3, Name="A", Designation="Boss", JoiningDate=DateTime.Now.Date, Salary=5000M },
                new Sample{ ID=1, Name="D", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=2500M },
                new Sample{ ID=1, Name="V", Designation="Executive", JoiningDate=DateTime.Now.Date, Salary=45000M }
            };

            IQueryable<Sample> sas = sampleData.AsQueryable<Sample>();
            sas.OrderBy("Name");
        }
    }
}

As you can see above, I am trying to do simple sorting on one of the column using System.Linq.Dynamic library's extension method. 如您在上面看到的,我试图使用System.Linq.Dynamic库的扩展方法对其中一列进行简单排序。 But it is not being sorted. 但是它没有被排序。 When I hover over sas I see the items in its original order. 当我将鼠标悬停在sas我会看到其原始顺序的项目。 Can someone please tell me why? 有人可以告诉我为什么吗?

The original sas variable remains unordered. 原始的sas变量保持无序。 You need to save the result of OrderBy : 您需要保存OrderBy结果

var myOrderedSas = sas.OrderBy("Name");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM