Создание базы данных SQL CE из класса EF Code-First DbContext в приложении MVC - PullRequest
2 голосов
/ 06 ноября 2011

У меня такая же проблема, как у этого парня: Создание базы данных SQL CE из класса EF Code-First DbContext

Я знаю, что мне нужно использовать

Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");

это должно быть выполнено при запуске приложения .. (я новичок в MVC) где я могу найти такой "Application_Start" в MVC?

EDIT: Я решил свою проблему: этот код должен быть вставлен в global.asax

1 Ответ

4 голосов
/ 06 ноября 2011

Тебе вообще не нужно этого делать.Укажите имя вашего класса контекста в вашем файле web.config:

 <connectionStrings>
    <add name="EntityDemoSite.DataAccess.EntityContext" connectionString="Data Source=|DataDirectory|EntityDemoSite.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

Если ваш класс контекста находится в том же проекте (у меня его нет), просто используйте вместо этого name = "WheverYourContextClassIsNamed".* Проверьте мои примеры проектов здесь: http://completedevelopment.blogspot.com/2011/10/codecamp-nyc-entity-framework-mvc-code.html обратите внимание в web.config приложения mvc на раздел строки подключения. Вот где все это происходит.Затем в моем классе контекста в проекте доступа к данным вы заметите, как он говорит, что создает базу данных:

public class EntityContext : DbContext
{
     static EntityContext()
     {
       //for example to create a db:
       Database.SetInitializer(new CreateDatabaseIfNotExists());
      ...
     }
}      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...