在RecreateDatabaseIfModelChanges之后创建Provider db表

时间:2010-11-17 22:23:09

标签: .net sql-server entity-framework-4 asp.net-membership

我是EF4的新手,使用CPT4 Code-First和SQLExpress(MVC2 + Ninject但无所谓)。它运作良好,但我有一个问题/问题。当我更改模型时,数据库会被删除并创建回来,因为我在OnApplicationStart()中添加了这一行

{ Database.SetInitializer<CorpiqDb>(new RecreateDatabaseIfModelChanges<CorpiqDb>()); } 

但是我使用我最初使用aspnet_regsql.exe创建的Applications Services(成员资格和角色管理)但是我不想每次我的模型更改时都要运行它,是否可以有一个脚本来添加这些我的数据库的功能?至于现在,在更改我的模型后,我收到此错误: 找不到存储过程'dbo.aspnet_CheckSchemaVersion'。

谢谢!

2 个答案:

答案 0 :(得分:2)

使用database generation power pack。它消除了在更新模式时删除数据库的必要性。

答案 1 :(得分:1)

我做了什么,并且工作得很好,是我有两个分区数据库,一个用于我的域名,另一个用于asp.net成员资格。当我的模型发生变化时,我会调用一个删除模型数据库并从成员资格中删除用户的操作。更好的事情,我可以使用我想要测试的数据为我的新数据库播种。