生产服务器上的Update-Database失败

时间:2015-06-04 03:25:10

标签: entity-framework asp.net-mvc-5 entity-framework-6 ef-migrations

我已经为我的ASP.NET MVC项目启用了迁移。迁移在localhost上完美运行。但是,在将其部署到服务器后,我得到以下异常:

  

无法更新数据库以匹配当前模型,因为存在挂起的更改并且已禁用自动迁移。将挂起的模型更改写入基于代码的迁移或启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移   View Stack Trace

但是没有待定的迁移。添加新迁移只会创建空Up()& Down()

它可能在服务器上不起作用的原因是什么?我尝试删除迁移文件夹,重新启用迁移,删除数据库,让EF重新执行此操作。表格已经创建,但我最终得到了这个例外。

更新
我注意到的另一件事是,当我删除迁移文件夹而不是数据库,并启用迁移时,它只添加一个Configuration.cs文件,当它应该添加另一个文件时(initialcreate.cs)

1 个答案:

答案 0 :(得分:0)

如果您在同一时间对同一对象列表进行不同的查询而不使用.toList

,则会发生这种情况

示例:

您可以创建上下文并获取testObjects列表,然后编辑其中一个对象,然后保存更改

var objectsList = context.testObjects.where(x=>x.whatever=true)
objectsList[0].whatever2="asd"
context.SaveChanges()

上面的代码将通过分析器,它会在运行时失败,解决这个问题应该如下所示

    var objectsList = context.testObjects.where(x=>x.whatever=true).ToList()
    objectsList[0].whatever2="asd"
    context.SaveChanges()