![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
sinitsa |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 22.7.2011 Репутация: нет Всего: нет |
Всем привет,
мне надо сделать линк запрос к таблице и выбрать оттуда все строки, где стасус jt.state равен 0x8007 Проблемма в том, что в базе статусы сохранены в десятичном виде и мне надо конвертировать. Я создала enum где всех шеснадцатиричных статусов, например:
Мой запрос выглядит так:
В результате не выбрано ниодно значиние, а когда делаю Debug пошагово и смотрю значение переменной, то конечно значения у нее нет, но есть сообщение, что функция не поддерживается SQL, я подозреваю, что это из-за "string.Format("{0:x}", Convert.ToInt32(jt.state))" Может кто-то знает как решить мою проблемму? Заранее спасибо, Sinitsa |
||||
|
|||||
WarHog |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.10.2007 Где: Воронеж Репутация: 1 Всего: 2 |
Да, естественно, провайдер не может транслировать вызовы шарповских методов, таких как string.Format в sql-запрос (но, например, Linq2SQL сможет перевести Convert.ToInt32 в sql'ный CONVERT(Int,CONVERT(NVarChar, [некое поле])).
А почему просто не сделать
? соответственно значение твоего шестнадцатеричного енума приведется к десятичному и сравнится с десятичным же полем в базе Только енум нужно переделать т.о.
, т.к. сейчас там не шестнадцатеричные статусы. Да, и
вернет просто "FinishedОК". Если нужно его шестнадцатеричное строковое представление, то юзай Enum.Format
--------------------
|
||||||||
|
|||||||||
sinitsa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 22.7.2011 Репутация: нет Всего: нет |
Спасибо большое,
все работает. Краткий вид линка я не использовала, тк "развернутый" больше похож на SQL и лучше читаемый и понимаемый теми, кто LINQ не знает. Я пишу дипломку на фирме и не факт, что они меня оставят, но тут никто не знает ни C# ни LINQ, так что я решила писать развернуто.. Все равно спасибо ОГРОМНОЕ! Это сообщение отредактировал(а) sinitsa - 25.7.2011, 14:22 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |