相关疑难解决方法(0)

添加新迁移时,EF Data迁移不会检测更改

我首先使用Entity Framework 5.0数据迁移和代码.当我向模型添加新字段并在包管理器控制台中执行以下命令时.

 "Add-migration AddedField"
Run Code Online (Sandbox Code Playgroud)

我得到的只是一个名为"n_AddedField"的空迁移,up和down方法不包含任何逻辑.

我尝试了很多东西,重新安装EF nuget包,清理我的解决方案,重建,手动删除所有生成的文件和目录.

然后我决定废弃我的所有迁移并重新开始,然后它变得奇怪.删除所有迁移和数据库中的迁移历史表后,我使用CreateDatabaseIfNotExists初始化程序重新创建了数据库.完成此操作后,我应该能够创建一个新的初始迁移.但是当我尝试创建新的迁移时,我收到一条错误消息,指出存在待定迁移,并列出了我刚从项目中删除的所有迁移.

我不知道为什么以及EF如何回忆这些迁移.我甚至尝试搜索文件内容,查看迁移是否保存在其他地方或其他地方.但没什么......

当scott hansleman演示在舞台上时,数据迁移看起来非常整洁,但对于实际工作,我开始寻找替代方案.

当项目开始时,我们使用的是EF 4.x并且稍后将其切换到5.0,但是由于交换机我成功添加了一堆迁移.

有谁知道如何解决这个问题?基本上我只是希望能够添加迁移,并生成带有更改的sql脚本.

entity-framework ef-migrations

36
推荐指数
7
解决办法
5万
查看次数

AutomaticMigrationsEnabled为false还是true?

在EF项目中,是否有设置AutomaticMigrationsEnabled的最佳实践?

更多声明:

在我们的团队修改模型后,我们通常在Package Manager Console中运行"add-migration"和"update-databse"命令.当其他开发人员运行该项目时,会出现此错误:

"无法删除数据库,因为它正在使用中"

每次发生这种情况时,第一个修饰符应该是Check In整个项目而其他修饰符必须GET修改对象.在许多情况下,我们不想检查已经创建的模型和迁移!

这种情况很烦人,有没有解决这类问题的方法.提前致谢.

entity-framework entity-framework-4 ef-migrations

32
推荐指数
2
解决办法
4万
查看次数

MVC3和Code First Migrations - "创建数据库后,支持'blah'上下文的模型已经改变"

我使用Entity Framework Code First开始了我的项目.当我准备好时,我将我的数据库和代码上传到我的主机提供商.一切正常.

我需要在我的一个类中添加一个新字段,我不想丢失数据库中的数据.因此,我尝试了一些关于使用Code First Migrations的博客文章.我做了以下事情:

  1. 我备份了我的远程(生产)数据库.
  2. 我在本地附加了这个数据库
  3. 我把这个属性添加到了我的班级
  4. PM>启用 - 迁移
  5. PM> Add-Migration AddSortOrderToCar
  6. PM>更新 - 数据库
  7. 此时,我创建了本地数据库的.bak文件,然后使用该文件"恢复"到远程文件.
  8. 最后,我将代码发布到远程站点.

当我访问该网站时,我收到以下错误消息:自创建数据库以来,支持'blahblah'上下文的模型已更改.考虑使用Code First Migrations来更新数据库.

我究竟做错了什么?

entity-framework asp.net-mvc-3 ef-migrations

20
推荐指数
1
解决办法
3万
查看次数