2016-03-31 35 views
0

在EF教程描述的模型第一种方法的工作方式如下:EF模型首先:如何以编程方式生成/删除数据库?

  1. 创建模型
  2. 生成模型数据库SQL
  3. 推出通过Studio生成SQL

但是如何将它交付给客户?必须在程序启动时自动在客户端创建数据库,并且必须在客户选择某个菜单操作时将其删除。 上述行为如何通过EF实现?

+0

你可以看看在自动代码优先迁移。这应该满足您的需求:https://msdn.microsoft.com/en-us/data/jj554735.aspx – schlonzo

+0

Model-first是否表示您有EDMX文件? –

回答

1

您的模型优先方法应该创建一个DbContext派生类,如class MyModelContainer : DbContext

在您的应用程序的启动阶段,做这样的事情:

using(var ctx = new MyModelContainer()) 
{ 
    ctx.Database.CreateIfNotExists(); 
} 

同样的,当你想删除它(先关闭所有连接):

using(var ctx = new MyModelContainer()) 
{ 
    ctx.Database.Delete(); 
} 
相关问题