如何在.NET Core MVC中初始化/更改数据库?

时间:2017-06-20 19:30:14

标签: c# asp.net-mvc entity-framework

所以我已经学习了两个星期的.NET Core,并且从一开始就有一堆数据应该始终存在于数据库中。

所以关注this tutorial我通过名为DbInitializer.cs的类创建我的数据库,其中函数Initialize(ExamsContext context)Startup.cs中调用。

现在,这个函数看起来像这样:

public static void Initialize(ExamsContext context)
{
     context.Database.EnsureCreated();

     // Check if it's already populated.
     if (context.Exams.Any())
     {
         return;   // DB has been seeded
     }

     // Add stuff
     var data = new Data { ... };
     context.Data.Add(data);
     context.SaveChanges();
}

现在这并不像“正确”的方式,例如,每次我想改变一些东西(比如在函数中应该总是存在的东西中添加东西)我做了添加的肮脏修复{ {1}}一开始。

现在我这样做的原因是因为这是我知道怎么做的唯一方式,并且很想知道一个更好的方法,但是我的谷歌搜索没有成功,所以我想我会问这里关于最佳实践的一些提示以及我可以在哪里阅读更多关于如何处理的提示:)

1 个答案:

答案 0 :(得分:0)

有人请将我的评论添加到他的问题中。我缺乏声誉。
你有没有想过编写一个SQL脚本?然后,您只需要几行代码并使用其中所需的功能加载sql-file的内容。在该文件中,您可以执行基本的if语句并检查数据库是否已填充。