Java教程

初始化数据库

本文主要是介绍初始化数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建数据库

在程序启动初,创建数据库。

不存在数据库才创建

Database.SetInitializer(new CreateDatabaseIfNotExists<MyContext>());
using (MyContext mcx = new MyContext())
{
    mcx.Database.CreateIfNotExists();
}

如果Mysql已经存在与MyContext对应的数据库名称相同的数据库,则不创建数据库。否则,创建。

当我们修改了Model,启动程序后,数据库不会跟着自动更新。如果我们尝试增删查改数据库,Entity Framework会出错。我们只能删除数据库,再次启动程序,才会删除旧数据库重新生成与Model一致的数据库,显然,这种方式会导致原有的生产数据丢失。

我们可以在修改Model后,自己手动去修改数据库的表结构,保持其与修改后的Model一致,这样数据库中原有的数据就不会丢失了。

每次启动程序都新建

Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
using (MyContext mcx = new MyContext())
{
    mcx.Database.Initialize(true);
}

每次重启程序,都会删除已存在的数据库,然后新建一个数据库。

Model更新自动新建

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
using (MyContext mcx = new MyContext())
{
    mcx.Database.Initialize(true);
}

如果我们修改了Model,启动程序时会检查我们的Model是否发生了变化,如果变化了,便会删除现在的数据库,然后新建一个与当前Model一致的数据库。

注意:每次修改Model,都会导致原有的数据库数据被删除。

我们可以在修改Model后,自己手动去修改数据库的表结构,保持其与修改后的Model一致,这样数据库中原有的数据就不会丢失了。

这篇关于初始化数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!