Всем привет, хочу поделится некоторым опытом использования 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.
Оставить комментарий