Использование 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 на странице, которая должна отображать список).

0 ответов

Другие вопросы по тегам