Как мне использовать < symbol в моем EF DefiningQuery SQL?

#sql #entity-framework

#sql #entity-framework

Вопрос:

С EntityFramework я использую <DefiningQuery> элемент для определения SQL, представляющего мою модель. Когда я вручную редактирую файл .edmx для кодирования SQL, я не могу использовать выражения, которые включают less than знак, не нарушая XML-документ:

WHERE SomeDate <= myColumnName

XML-документ прерывается, потому что анализатор считает, что это начало нового тега. Как я могу закодировать > символ в файле edmx, чтобы гарантировать, что проект компилируется и что SQL выполняется должным образом во время выполнения?

Ответ №1:

Вам нужно использовать соответствующие объекты для < and > , которые являются amp;< и amp;> соответственно:

WHERE SomeDate amp;<= myColumnName

Ответ №2:

Я думаю, что лучшим способом было бы заключить запрос в теги CDATA.

Например: <![CDATA[select id, name from customers where salary > 1000]]>

Ответ №3:

Вы написали быстрее, чем я: p Если вы используете сущности, о которых говорит Брайан, анализатор преобразует их в символ, который они представляют, так что у вас будет свой символ «меньше, чем».