Я получаю сообщение об ошибке:
Как минимум один объект должен реализовывать IComparable
Код, вызывающий это ниже:
private static IEnumerable<Result> setOrderBy(IEnumerable<Result> value, string order)
{
if (order.Equals("ASC"))
{
//value = value.OrderBy(c => c, new SearchService.ResultComparer<Attribute>());
value = value.OrderBy<Result>(o => o.StringAttributes.Where(p => p.AttributeName == "Title"), new SearchService.ResultComparer<Attribute>());
//value = value.OrderBy(o => o.StringAttributes.Where(p => p.AttributeName == "Title"), new SearchService.ResultComparer<AttributeItem>()));
}
if (order.Equals("DESC"))
{
value = value.OrderByDescending(c => c, new SearchService.ResultComparer<Attribute>());
//value = value.OrderByDescending(o => o.StringAttributes.Where(p => p.AttributeName == "MatterName"));
}
return value;
}
Немного предыстории: Вмое приложение MVC2, я выполняю поиск в моем контроллере поиска.Когда я отправляю свои результаты в представление «Результаты», я пытаюсь упорядочить результаты в алфавитном порядке, в порядке возрастания или убывания.Однако, когда я записываю логику для установки свойства OrderBy для моего объекта результата, я получаю волнистую красную линию под кодом (как видно из VS2008).По какой-то причине этому методу не нравится модель данных, с которой я пытаюсь разобраться.Каждый объект Result имеет различные свойства, одним из которых является список атрибутов типа string (отсюда и имя StringAttributes). Я пытаюсь отсортировать каждый объект Result в моей коллекции IEnumerable по значению одного из атрибутов String, присутствующего в ALL.моих записей результатов.
Помогите пожалуйста!