Короче говоря, мне нужно получить элементы на основе диапазона (высокое/низкое значение), однако значение свойства column из базы данных равно string
, а мне не разрешено изменять что. Итак, как я должен сравнивать диапазон?Сравнить диапазон номеров строк в Entity Framework
Я не могу найти способ конвертировать свойство entity в int
, поэтому я могу сравнить. Конечно, Convert.toInt32
тоже не работает. Я не вижу ни одного SqlFunctions
, который поможет, но, возможно, я пропустил что-то легкое.
Я играл с ним, но пока не повезло. Это моя последняя попытка, которая не работает:
var result = Repo.Query().Where(e => e.SerialNumber.Cast<int>().First() >= myIntLowVariable && e.SerialNumber.Cast<int>().First() <= myIntHighVariable);
Любые предложения?
Обновление
Пользователь вводит два SerialNumbers и мне нужно, чтобы вернуть все записи в этом диапазоне, однако SerialNumber
является string/varchar
столбец/свойство.
данных - К сожалению не знаю, как поставить столик здесь ..
SN :: Описание
1 :: Молоко
2 :: Яйца
3 :: Хлеб
4 :: Сыр
5 :: бекона
6 :: Йогурт
7 :: Горчица
8 :: Куриное
9 :: Пицца
10 :: Chips
Какая строка хранится в вашей базе данных? это фиксированный формат? некоторые примеры помогут получить лучший ответ. –
можете ли вы разместить несколько примеров данных, пожалуйста, –
. Какое максимальное количество цифр? Было бы возможно построить запрос, который смотрит на длину, и делает сравнение на основе каждой из 1, 2, 3, ... цифр? Или как насчет нулевого заполнения до фиксированной длины и сравнения строк? –