EF5 Migration Update-Database -Script Error

Sean Newcome picture Sean Newcome · Jan 15, 2013 · Viewed 8.5k times · Source

I've been using Visual Studio 2012 RC with trial license with no problems. I purchased Visual Studio 2012 Professional yesterday, installed the latest version, and installed Update 1.

I have a solution/project I've been working on for many years. It has many migrations in it. I ran my first add-migration TableX_NewField and update-database -sourcemigration:TableX_PreviousNewField in this latest version.

They both ran with no problems.

Then I ran update-database -script -sourcemigration:TableX_PreviousNewField and received the following:

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))

I've ran windows updates. Checked updates with NuGet. Restarted my computer. Still have error.

Answer

James Harrison picture James Harrison · Feb 5, 2013

I noticed in visual studio, going to SQL menu, Transact-SQL Editor, New Query... gave a dialog about the tools not working with the server installed. Installing SQL Server Data Tools - December 2012 update (Sql Server Data Tools) fixed the problem