在运行时创建数据库
本文关键字:数据库 创建 运行时 | 更新日期: 2023-09-27 18:33:59
到目前为止,我已经使用以下代码动态创建数据库:
var db = new MyEntities(db_name);
if (!db.DatabaseExists())
{
db.CreateDatabase();
其中 MyEntities 扩展了 ObjectContext 类。
在我的新应用程序中,我有相同的代码,但现在MyEntities扩展了DbContext类,并且DatabaseExists()和CreateDatabase()不可用。
现在如何创建数据库?
因此,下面的代码将执行不同的状态来创建数据库,我相信它会在DbContext
被击中时运行。 所以喜欢using (var context = new DbContext())
Database.SetInitializer(new DropCreateDatabaseAlways<DbContext>());
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbContext>());
Database.SetInitializer(new CreateDatabaseIfNotExists<DbContext>());
这些都是不言自明的。您甚至可以覆盖它们,以便添加种子数据。
把它放在你的Global.asax
如您所见,这些是强类型类。他们接受您继承的DbContext
类。
例如:
public class BlogContext : DbContext {}
Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());
上面的代码将删除并始终使用BlogContext
作为参考来创建数据库。