У меня есть некоторые данные, выходящие из БД, которые я не могу легко изменить схему. Я хочу отсортировать его и привязать к элементу управления, основанному на числовом идентификаторе. Проблема заключается в том, что API хранит номер в строковом поле, а не как int
и Linq barfs при попытке конверсии.
myControl.DataSource = dataFromDB.OrderBy(o => int.Parse(o.StringHoldingAnInt));
LINQ to Entities не распознает метод "Int32 Parse (System.String)", и этот метод не может быть переведен в выражение хранилища.
Convert.ToInt32
тоже не работает.
LINQ to Entities не распознает метод 'Int32 ToInt32 (System.String)', и этот метод не может быть переведен в выражение хранилища.
Сортировка как строка не подходит, потому что значения не имеют одинаковой длины, и они будут упорядочивать их следующим образом: 1, 10, 11, 2, 3..