Вопрос по – Как отключить автоматическое создание таблицы в EF 5.0?

13

Я установил Entity Framework 5.0 RC для Framework 4.0 в моем проекте. Но когда я пытаюсь получить данные из Views, я получаю ошибку. EF пытается создать таблицу для этого объекта.

Ваш Ответ

2   ответа
9

Если вы хотите полностью отключить инициализацию / миграцию базы данных независимо от того, в каком проекте вы используете свой контекст, вы можете добавить статический конструктор в свой контекст для вызова инициализатора. Это гарантирует, что 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, как предложено Ладиславом.

21

Используйте это при запуске приложения, чтобы отключить инициализацию и миграцию базы данных:

Database.SetInitializer<YourContextType>(null);
Error: User Rate Limit Exceeded Hryhorii
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы