Entity Framework «Code First» не заполняет или не создает базы данных - без ошибок - PullRequest
3 голосов
/ 10 августа 2011

По какой-то причине моя БД не создается, и я не получаю никаких ошибок. Я использую "SQL Server"

Выполнить инициализацию БД в файле global.asax.ca:

protected void Application_Start(object sender, EventArgs e)
{
     //BREAKPOINT HITS. GOOD
     Database.SetInitializer<MenuManagerContext>(new MenuManagerServiceInitializer()); 
}

...

public class MenuManagerServiceInitializer : CreateDatabaseIfNotExists<MenuManagerContext>
{
    //BREAKPOINT NEVER HITS. BAD
    protected override void Seed(MenuManagerContext context)
    {
        context.Chains.Add(...);

        context.SaveChanges();

        base.Seed(context);
    }
}

Есть идеи, почему база данных не создается? Я даже не получаю ошибок, поэтому очень сложно сказать, что не так ...

Ответы [ 2 ]

8 голосов
/ 10 августа 2011

Database.SetInitializer не вызывает создание базы данных.Это только настройка стратегии инициализации.

БД создается, если вы используете контекст в первый раз, например, с помощью какого-либо запроса или путем добавления или добавления объекта в контекст и т. Д..

1 голос
/ 11 августа 2011

Сделайте вызов Action, который возвращает данные через ваш контекст

public ActionResult Index()
{
    //should trigger call to MenuManagerServiceInitializer.Seed()
    return View(new MenuManagerContext().Chains.ToList())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...