Какой метод в EF5 отвечает за создание базы данных

У меня есть пара вопросов:

  1. В коде EF5 первый API, какой метод отвечает за проверку выхода из базы данных, и если это не так, какой метод создает базу данных?

  2. если я сначала использую код EF в своем проекте DAL и хочу, чтобы EF сгенерировал другую базу данных для целей тестирования, могу ли я сделать это с помощью ef? Я уже изменил начальный каталог в строке подключения, чтобы проверить, создает ли он другую базу данных, но это не так, и выдал исключение

  3. Используя ef Code-First или DataBase-First, мы, наконец, получили класс DbContext. Откуда EF5 знает, какой метод мы использовали для своих внутренних действий?

Спасибо.


person r.zarei    schedule 14.05.2013    source источник


Ответы (1)


API для проверки наличия Context.Database.Exists(); и Context.Database.CreateIfNotExits();

Как только вы получаете доступ к EF Context, он начинает что-то делать. Существует поведение по умолчанию, которым вы можете манипулировать.

Контекст может быть снова открыт для разных экземпляров БД. Да. Вы даже можете использовать его для создания разных БД на одном и том же сервере. Требуется аккуратное использование конструктора и соответствующей настройки API.CONFIG.

<connectionStrings>
<add name="YouCanHaveManyofTheese"
     connectionString="Data Source=localhost;Initial Catalog=DIFFERENT DBNAME ;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework"
     providerName="System.Data.SqlClient" />

Also
Check out Database.SetInitializer();

Ef Знает, создал ли он БД или перенес БД. Здесь записываются действия. [dbo].[__История миграции]

person phil soady    schedule 16.05.2013
comment
когда я меняю начальный каталог, чтобы заставить ef генерировать БД, у меня ошибка входа в систему для пользователя «xxx», что означает, что база данных не существует на сервере. - person r.zarei; 22.05.2013