Entity Framework的几种初始化器

https://www.cnblogs.com/godbell/p/7384940.html

 

Database.SetInitializer<TContext>(new NullDatabaseInitializer<TContext>());
Database.SetInitializer<TContext>(null);

 

NullDatabaseInitializer<TContext>使用此初始值设定项将禁用给定上下文类型的数据库初始化,等同与传递null,所以上面两种写法等同。

Database.SetInitializer<TContext>(new MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration>());

 

初始化 MigrateDatabaseToLatestVersion 类的新实例,该类指定是否使用触发初始化的上下文中的连接信息来执行迁移。 也允许指定在初始化期间要使用的迁移配置。

Database.SetInitializer<TContext>(new DropCreateDatabaseAlways<TContext>());

 

IDatabaseInitializer 的实现,它总是会在首次在应用程序域中使用上下文时,重新创建数据库并可以选择重新设置数据库的种子。 若要设置数据库的种子,请创建一个派生类并重写 Seed 方法。

Database.SetInitializer<TContext>(new DropCreateDatabaseIfModelChanges<TContext>());

 

IDatabaseInitializer 的实现,它仅在模型自数据库创建后发生更改时删除数据库、重新创建数据库并选择重新设置数据库的种子。

posted @ 2020-02-27 10:02  清语堂  阅读(246)  评论(0编辑  收藏  举报