Entity Framework Code First - Может ли существующая таблица отображаться и быть сделана только для чтения? - PullRequest
2 голосов
/ 06 марта 2012

Мне нужно использовать таблицу пользователей с родительского сайта. Можно ли отобразить таблицу пользователей с помощью свободно распространяемого API и она доступна только для чтения?

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

В случае с кодом EF сначала вы не можете напрямую сделать его «только для чтения», но вы можете создать свой код таким образом, чтобы он не отображал DbContext и связанные DbSet вне вашей логики DAL, поэтому остальная часть приложения не может добавитьновый пользователь.

В случае отображения на основе EDMX вы можете сделать его доступным только для чтения, отобразив его как пользовательский запрос SQL (или представление базы данных), где операции вставки, обновления и удаления не поддерживаются, пока вы не сопоставите их с пользовательскими командами SQL или не сохраните их.процедуры.

0 голосов
/ 06 марта 2012

Согласно комментарию в блоге ScottGu , нет.

В настоящее время мы не поддерживаем свойства только для чтения (или частично только для чтения) в Code First, но это интересное предложение, с которым я поговорю наша команда дизайнеров о. В общем случае Entity Framework не имеет поддержка маркировки чего-либо как «только для чтения», поэтому нам, возможно, придется подождать для другого основного выпуска .NET Framework, чтобы это заработало. Теперь, вам придется добавить бизнес-логику в вашу сущность, чтобы позволить свойство устанавливается только один раз.

Джефф Дерштадт

Entity Framework Code First Team

...