Можно ли использовать QueryView с EF Code-First? - PullRequest
1 голос
/ 20 января 2011

Название должно быть самоочевидным. QueryView в EDMX позволяет предварительно заданные проекции и условные запросы. QueryView создает дополнительное отображение только для чтения.

Пример:

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

1 Ответ

0 голосов
/ 22 января 2011

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

...