我正在使用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),但它在第二次发布之后一直记住它
这笔交易是什么?我希望它完全忘记以前的记录,只是给我最后一次请求的内容
答案 0 :(得分:0)
如果仍然在Dev中,从azure中删除db是最简单的选项,然后重新创建它。确保等待azure确认它已完成创建新数据库。 然后触发它以便运行种子。这就是我过去3周一直在做的事情并且运作得很好。