Использование OrderBy и ToArray для вывода списка объектов в C# в алфавитном порядке
Я работаю над веб-страницей, которая отображает список объектов, но они отображаются совершенно случайным образом. Я пытаюсь заставить их появляться в алфавитном порядке.
Код, который у меня есть для этого:
public ActionResult Listing(string id)
{
List<MediaListingPreviewModel> models = null;
if (!string.IsNullOrEmpty(id))
{
var ids = id.Split(new char[] { ',', '&' }).Select(n => new Guid(n)).ToArray();
if (ids.Length > 0)
{
models = Mapper.Map<IEnumerable<MediaListingPreviewModel>>(RetrieveRepository<MediaSpace>().GetMany(n => ids.Contains(n.Id))).ToList();
}
}
else
{
models = Mapper.Map<IEnumerable<MediaListingPreviewModel>>(RetrieveRepository<MediaSpace>().GetMany(n => n.Deleted == false && n.Placements.Where(p => p.Deleted == false).Count() > 0)).ToList();
}
if (models.Count() < 5)
{
var currentCount = models.Count();
while (currentCount < 5)
{
var model = new MediaListingPreviewModel();
models.Add(model);
currentCount++;
}
}
return View(models.Take(models.Count).OrderBy(model => model.Name).ToArray());
}
Я несколько раз пытался изменить оператор return, например, используя OrderByDescending(model => model)
но это не работает (я получаю ошибку 404 на странице, которая должна отображать список).