我有一个名为Group
的类,其中包含从数据库检索到的许多信息,例如GroupId
、Name
或Address
。
这是我的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());