T-SQL CAST использование в EntityDataSource

Август 16th, 2012 § 0 comments

Всем привет, хочу поделится некоторым опытом использования EntityDataSource, а именно использования оператора LIKE к полю типа int в MS SQL при обычном запросе к с использование T-SQL запрос бы выглядел следующим образом


SELECT *FROM table1 WHERE CAST(UserId as NVARCHAR(10)) LIKE '1%';

этим запросом мы получим всех пользователей UserId у которых будет начинаться с единицы.  Если вы попробуете ввести в EntityDataSource в условие Where такую же конструкцию то неминуемо получится Exception, что бы этого не произошло запрос нужно переписать в следующей форме


EntityDataSource1.Where = "CAST(UserId as System.String) LIKE '1%';"

Как видите здесь используются типы не MS SQL а типы C# так что при приведении одних типов к другим в EntityDataSource не забывайте о том что должны работать с типами C# внутренний механизм в EntityDataSource в последствии приведёт данные к соответствующему типу MS SQL.

Tagged

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Смотреть фильмы онлайн