Я пишу приложение для своей компании и сейчас работаю над функцией поиска. Когда пользователь ищет элемент, я хочу отобразить самую высокую версию (которая хранится в базе данных).
Проблема заключается в том, что версия сохраняется как строка вместо int, и когда я делаю OrderBy (q = > q.Version) в результатах, они возвращаются как
1
10
11
2
3
...
Очевидно, что 2 до 10.
Есть ли способ передать версию как целое или есть простой IComparer? До сих пор я не мог найти ничего существенного.
Я попытался сделать это:
var items = (from r in results
select r).OrderBy(q => Int32.Parse(q.Version));
Это компилируется, но не работает.