Подтвердить что ты не робот

Как определить представление базы данных с помощью Entity Framework 4 Code-First?

Как определить представление базы данных с использованием Entity Framework 4 Code-First? Я ничего не могу найти об этом!

4b9b3361

Ответ 1

Это потому, что вы не можете определить представление базы данных с использованием подхода, основанного на кодах. Представление базы данных представляет собой конструкцию базы данных, которая использует SQL Query поверх существующих таблиц/функций. Вы не можете определить такие конструкции, используя первый код.

Если вы хотите просмотреть, вы должны создать его вручную, выполнив CREATE VIEW SQL script, например, в пользовательском инициализаторе - это будет похоже на этот ответ. Просто имейте в виду, что это не поможет вам, если вы хотите сопоставить объект с представлением. В таком случае вам, вероятно, придется сначала отбросить таблицу, созданную EF, и создать представление с тем же именем (я не пробовал, но мог бы сделать трюк). Также имейте в виду, что не каждое представление является udpatable, поэтому вы, скорее всего, получите только объект, доступный только для чтения.

Ответ 2

Чтобы создать представление, вы создаете модель, а затем в инициализаторе вы запускаете инструкцию SQL для создания представления непосредственно против контекста с первой строкой кода, а затем в контексте вы переопределяете OnModelCreating и запускаете вторую строку код для игнорирования модели.

context.Database.ExecuteSqlCommand(Resources.<resourcename>);

modelBuilder.Ignore<modeltype>();