Сначала код: где находится строка подключения и база данных? - PullRequest
4 голосов
/ 08 октября 2011

Я проверяю, как работает код. Вот как я определил контекст

public class EfDbContext: Context
{
  public DbSet<Client> Clients { get; set; }
}

Я не создал никакой базы данных, но мне удалось выполнить все операции CRUD.

Теперь я не вижу строку подключения в моем файле web.config. Я не вижу ни базы данных. Я проверил каталог App_Data, а также Sql Server Express. Я не вижу никаких следов созданной базы данных.

Тем не менее, все отлично.

1 Ответ

4 голосов
/ 08 октября 2011

EF code-first будет использовать строку подключения, имя которой совпадает с именем вашего контекста БД, поэтому вы можете определить его следующим образом:

<connectionString>
   <add name="EfDbContext" 
        connectionString="server=YourServer;database=YourChoice;Integrated Security=SSPI;" />
</connectionString>

База данных не будет создана по умолчанию, пока вы на самом деле не сделаете что-то, например, он должен появиться, как только вы впервые позвоните на номер EfDbContext.SaveChanges().

Он будет называться так же, как ваш контекст БД (YourNamespace.EfDbContext), если вы не определили свою собственную, настраиваемую строку подключения, и он должен отображаться в локальном экземпляре SQL по умолчанию.

См. Код ADO.NET EF 4.1. Первое прохождение :

Где мои данные?

DbContext по соглашению создал базу данных для вас на локальный \ SQLEXPRESS. База данных названа в честь полной квалификации имя вашего производного контекста, в нашем случае это «CodeFirstSample.ProductContext». Мы рассмотрим способы изменить это позже в прохождении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...