(Используя последний MVC 2 RC 2), я пытаюсь отсортировать некоторый XML в LINQ (C#) значением атрибута элемента...
var sites = from s in xDoc.Element("sites").Elements("site")
orderby s.Attribute("name")
select s;
Но когда я передаю это своему Представлению, я получаю исключение:
Exception Details: System.ArgumentException: At least one object must implement IComparable.
Source Error:
Line 37: </th>
Line 38: </tr>
Line 39: <% foreach (var item in Model)
Line 40: { %>
Line 41: <tr>
Кто-то может сказать мне, как отсортировать XML, использующий LINQ, и иметь его рендеринг правильно?
EDIT: Хорошо, я думаю, ты просто хочешь:
var sites = from s in xDoc.Element("sites").Elements("site")
orderby (string) s.Attribute("name")
select s;
Что также может быть написано как:
var sites = xDoc.Element("sites")
.Elements("site")
.OrderBy(s => (string) s.Attribute("name"));