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 的实现,它仅在模型自数据库创建后发生更改时删除数据库、重新创建数据库并选择重新设置数据库的种子。

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 的实现,它仅在模型自数据库创建后发生更改时删除数据库、重新创建数据库并选择重新设置数据库的种子。

猜你喜欢

转载自www.cnblogs.com/wfy680/p/12370620.html
今日推荐