我是EF4的新手,使用CPT4 Code-First和SQLExpress(MVC2 + Ninject但无所谓)。它运作良好,但我有一个问题/问题。当我更改模型时,数据库会被删除并创建回来,因为我在OnApplicationStart()中添加了这一行
{ Database.SetInitializer<CorpiqDb>(new RecreateDatabaseIfModelChanges<CorpiqDb>()); }
但是我使用我最初使用aspnet_regsql.exe创建的Applications Services(成员资格和角色管理)但是我不想每次我的模型更改时都要运行它,是否可以有一个脚本来添加这些我的数据库的功能?至于现在,在更改我的模型后,我收到此错误: 找不到存储过程'dbo.aspnet_CheckSchemaVersion'。
谢谢!
答案 0 :(得分:2)
使用database generation power pack。它消除了在更新模式时删除数据库的必要性。
答案 1 :(得分:1)
我做了什么,并且工作得很好,是我有两个分区数据库,一个用于我的域名,另一个用于asp.net成员资格。当我的模型发生变化时,我会调用一个删除模型数据库并从成员资格中删除用户的操作。更好的事情,我可以使用我想要测试的数据为我的新数据库播种。