按字母顺序对我的 IEnumerable 进行排序<Group>



我有一个名为Group的类,其中包含从数据库检索到的许多信息,例如GroupIdNameAddress

这是我的Group页面的Index控制器,它只是以有序的方式显示所有这些信息:

控制器所做的只是获取数据并将其传递给View。

[Authorize]
public ActionResult Index()
{                      
    return View(_service.List());
}

我以IEnumerable<Group>类型传递数据,但我想知道:如何根据Name按字母顺序排列这些信息?

编辑:这是我的Group课程:

public partial class Group
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Group()
    {
        this.Companies = new HashSet<Company>();
    }
    public int GroupId { get; set; }
    public string CountryId { get; set; }
    public string UpdatedBy { get; set; }
    public string CreatedBy { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public bool IsEnabled { get; set; }
    public System.DateTime CreatedDate { get; set; }
    public System.DateTime UpdatedDate { get; set; }
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Company> Companies { get; set; }
    public virtual Country Country { get; set; }
}

我的List方法:

public IEnumerable<Group> List()
{
    return _repository.List();
}

在存储库中:

public IEnumerable<Group> List()
{
    return _entities.Groups.ToList();
}

您可以在IEnumerable上使用OrderBy方法对对象中的特定键进行排序。另请参阅MSDN的这篇文章。注意,OrderBy是一种扩展方法。因此,您需要包含名称空间System.Linq才能使用它。

然后你的代码就会变成

return View(_service.List().OrderBy(g => g.Name));

您可以这样做;

return View(_service.List().OrderBy(o=>o.Name).ToList());

最新更新