Я установил Entity Framework 5.0 RC для Framework 4.0 в свой проект. Но когда я пытаюсь получить данные из Views, я получаю ошибку. EF пытается создать таблицу для этого объекта.
Как отключить автоматическое создание таблиц в EF 5.0?
Ответ 1
Используйте это при запуске приложения, чтобы отключить инициализацию и миграцию базы данных:
Database.SetInitializer<YourContextType>(null);
Ответ 2
Если вы хотите полностью отключить инициализацию/миграцию базы данных независимо от того, в каком проекте вы используете Контекст, вы можете добавить статический конструктор в свой контекст, чтобы вызвать инициализатор. Это гарантирует, что SetInitializer будет вызываться один раз перед первой конструкцией/использованием вашего контекста.
public class YourContext : DbContext
{
static YourContext()
{
// don't let EF modify the database schema...
Database.SetInitializer<YourContext >(null);
}
public YourContext() : base("name=YourContext")
{}
...
}
Однако, если вы только хотите сделать это в нескольких проектах, вам лучше сделать это явно через запуск приложения - например. во время вашей обычной настройки IoC, например, предложенной Ладиславом.