EF5迁移更新 - 数据库 - 脚本错误

时间:2013-01-15 12:56:20

标签: entity-framework entity-framework-5 ef-migrations

我一直在使用带有试用许可证的Visual Studio 2012 RC,没有任何问题。我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了Update 1。

我有一个我已经工作多年的解决方案/项目。它有许多迁移。我在最新版本中运行了第一个add-migration TableX_NewFieldupdate-database -sourcemigration:TableX_PreviousNewField

他们都没有遇到任何问题。

然后我跑了update-database -script -sourcemigration:TableX_PreviousNewField并收到以下内容:

PM> update-database -script -sourcemigration:TableX_PreviousNewField
Applying code-based migrations: [201301151003149_TableX_NewField].
Applying code-based migration: 201301151003149_TableX_NewField.
System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
  at EnvDTE.ItemOperations.OpenFile(String FileName, String ViewKind)
  at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName)
  at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName)
  at System.Data.Entity.Migrations.Extensions.ProjectExtensions.NewSqlFile(Project project, String contents)
  at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
  at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))

我运行了Windows更新。使用NuGet检查更新。重新启动了我的电脑。仍然有错误。

2 个答案:

答案 0 :(得分:66)

我注意到在visual studio中,转到SQL菜单,Transact-SQL Editor,New Query ...给出了一个关于不能与安装的服务器一起工作的工具的对话框。安装SQL Server数据工具 - 2012年12月更新(Sql Server Data Tools)修复了问题

答案 1 :(得分:4)

此问题已解决。我卸载然后安装,问题没有解决。然后我同时做了两件事;所以我不知道是哪个解决了这个问题:

  1. 删除%temp%。
  2. 中的所有文件夹和文件
  3. Ran devenv / resetsettings。
  4. 希望这有助于遇到类似问题的任何人。