从EF自动迁移切换到代码优先迁移

时间:2014-11-24 17:50:06

标签: asp.net database entity-framework ef-migrations

我目前正在尝试从实体框架自动迁移切换到代码优先迁移。对于一个小背景故事,这个解决方案分为四个单独的项目:数据,模型,服务和Web。连接字符串信息位于Web项目中,上下文位于数据项目中。

现在,我已经运行了“启用 - 迁移”,这似乎已正常运行。

从那里,我删除了数据库中现有的migrationHistory表。

正在运行

Add-Migration -projectName Data" 

将生成适当的迁移。

问题是当我尝试运行Update-Database时,会导致一般错误:

> 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中提供的凭据连接到数据库,并且数据库连接在过去几个月中已正常工作,因此我认为这不是连接问题,除非Code-First迁移需要不同端口而不是自动迁移。

我认为它只是没有看到web.config中提供的连接字符串,无论如何运行

Update-Database -projectName data -startupprojectname web

导致相同的错误

我的问题:

在给出上述信息的情况下,如何解决与网络相关的通用错误?这个问题是否是一个可见性问题,其中数据项目代码优先迁移无法在Web项目中看到连接字符串?

1 个答案:

答案 0 :(得分:1)

Code first migrations - what connection string will it use?

在Update-Database / Add-Migration中指定connectionStringName正常工作。

Update-Database -projectName Data -connectionStringName MyConnectionString