EF强制重新加载Azure中的数据库

时间:2016-09-21 08:58:58

标签: c# entity-framework azure

我正在使用EF Code First。我试图播放我的数据库并在每次发布时在Azure中刷新它。每个人都建议使用此命令,但它不起作用。我已经尝试将它添加到global.asax和继承自DBContext的上下文的构造函数中,但没有成功:

Database.SetInitializer<MyAPIContext>(new DropCreateDatabaseAlways<MyAPIContext>())

我使用以下方式播种:

context.Users.AddOrUpdate(p => p.UserName,
        new User
        {
            UserName = "John",
            Age = 21
        },
        new User 
        {
            UserName = "Mark",
            Age = 23
        },

当我准备发布到我的azure时,我首先更新db:

update-database

然后我发布。为了测试,我用两个用户(John和Mark)发布了一次,然后在我重做update-database和publish之前第二次删除了第二个用户(Mark),但它在第二次发布之后一直记住它

这笔交易是什么?我希望它完全忘记以前的记录,只是给我最后一次请求的内容

1 个答案:

答案 0 :(得分:0)

如果仍然在Dev中,从azure中删除db是最简单的选项,然后重新创建它。确保等待azure确认它已完成创建新数据库。 然后触发它以便运行种子。这就是我过去3周一直在做的事情并且运作得很好。