2011-01-20 3 views
1

Название должно быть само собой разумеющимся. QueryView в EDMX допускает предопределенные выступы и условные запросы. QueryView создает дополнительное отображение в режиме чтения.Можно ли использовать QueryView с EF Code-First?

Пример:

Предположим, что мы имеем BlogPost таблицу, которая имеет Title, ShortDescription и Content столбцов. Если мы хотим использовать BlogPost, мы будем использовать непосредственно эту сущность. Если мы хотим показать список последних BlogPosts, в которых показаны только заголовки и описания, мы также не захотим загружать содержимое. Один из способов - напрямую использовать запрос с проекцией. Другой способ состоит в том, чтобы сопоставить эту проекцию в EDMX (используя QueryView = многократная проекция - часть вашего сопоставления) новому объекту с именем BlogPostInfo. Затем вы можете запросить свой контекст для объектов BlogPostInfo при показе списка сообщений в блоге.

ответ

0

Я нашел, что возможно использовать QueryView, если DbContext генерируется из EDMX, потому что в таком случае DbContext только отображение оберток в EDMX. Но это не то, что я искал. Сначала код сам по себе, вероятно, не предлагает эквивалент QueryView, поэтому лучший способ - это, вероятно, определить повторяющиеся проекционные запросы как методы непосредственно при реализации DbContext.

+2

Не могли бы вы объяснить, что вы подразумеваете под «_so лучшим способом, вероятно, определить многоразовые проекционные запросы как методы непосредственно на производной реализации DbContext.» –