Visual Studio包管理器控制台迁移拒绝使用连接字符串

时间:2013-06-25 12:52:04

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

我像这样运行Add-Migration

PM> Add-Migration -ConnectionStringName "ViducationConnection" -Verbose -StartUpProjectName "Viducate.Domain"

这就是我得到的:

cmdlet Add-Migration at command pipeline position 1
Supply values for the following parameters:
Name: myoj
Using StartUp project 'Viducate.Domain'.
Using NuGet project 'Viducate.Domain'.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct. ---> System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

现在奇怪的是,如果我运行它的项目,我检查了连接字符串,它工作(也没有改变)。 这之前就已经有效,没有改变任何连接方式

无论我给出连接字符串的名称是什么,它都失败了,我可以给它正确的名称或“无论什么”它以完全相同的方式失败。 让我觉得它找不到连接字符串。

但它存在于主项目中的web.config以及Vidcate.Domain项目中的app.config中。

之前这已经奏效了。但是我又一次遇到了这个问题,但那次我曾经从visual studio sql server对象资源管理器浏览过sql server(azure btw),那时候工作了。这次没有这样的运气。我试过重新启动,关闭防火墙等没有运气。

不太理想我们是两个使用相同数据库的开发人员,所以有时会更新它并创建不匹配但仍然不应该以这种方式连接,所以它应该无关紧要。

编辑:我的连接字符串是:

<add name="ViducationConnection" connectionString="Server=tcp:v6u2f4fbbg.database.windows.net,1433;Database=vidutesAqx321gza;User ID=myuser@v6u2f4fbbg;Password=mypassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

1 个答案:

答案 0 :(得分:0)

好的,似乎一夜之间我的视觉决定停止听-ConnectionStringName

因为当我进入app.config并添加完全相同的连接字符串但使用我的dbcontext名称时,它立即就可以了。

所以使用自定义连接字符串,只是停止工作。