EF Model First:如何以编程方式 generate/delete 数据库?
EF Model First: how to programmatically generate/delete database?
在 EF 教程中,按以下方式描述了模型优先方法的工作:
- 创建模型
- 从模型
生成数据库sql
- 启动生成sql 通过工作室
但是如何交付给客户呢?数据库必须在程序启动时自动在客户端创建,并且必须在客户 select 某些菜单操作时删除。
如何通过 EF 实现上述行为?
您的模型优先方法应该创建一个派生的 DbContext class,类似于 class MyModelContainer : DbContext
.
在您应用的启动阶段,执行如下操作:
using(var ctx = new MyModelContainer())
{
ctx.Database.CreateIfNotExists();
}
同样,当你想删除它时(先关闭所有连接):
using(var ctx = new MyModelContainer())
{
ctx.Database.Delete();
}
在 EF 教程中,按以下方式描述了模型优先方法的工作:
- 创建模型
- 从模型 生成数据库sql
- 启动生成sql 通过工作室
但是如何交付给客户呢?数据库必须在程序启动时自动在客户端创建,并且必须在客户 select 某些菜单操作时删除。 如何通过 EF 实现上述行为?
您的模型优先方法应该创建一个派生的 DbContext class,类似于 class MyModelContainer : DbContext
.
在您应用的启动阶段,执行如下操作:
using(var ctx = new MyModelContainer())
{
ctx.Database.CreateIfNotExists();
}
同样,当你想删除它时(先关闭所有连接):
using(var ctx = new MyModelContainer())
{
ctx.Database.Delete();
}