我正在使用实体框架以及代码优先迁移更新我的数据库的项目。我在另一台机器上开始了这个项目,结果非常好。现在我检查了另一台机器上的代码。由于这台机器没有数据库,我在nuget中运行了update-database命令。它应该应用我以前的迁移并在此机器上创建一个新的数据库,但它显示以下错误。实体框架:无法更改代码优先迁移的数据源
我读this MSDN文章它说
如果本地SQL Express实例是可用的,那么代码首先创建了数据库,该实例 如果(默认情况下在Visual Studio 2010中安装) SQL Express不可用,则Code First将尝试使用LocalDb(默认情况下安装Visual Studio 2012)
rstand是因为当我在第一台机器上启用了迁移时,它创建了SQLEXPRESS实例作为DataSource的数据库,并且由于我目前的机器中没有该数据库,因此无法创建数据库。所以我试图将EntityFramework的DataSource更改为我当前使用的LAPTOP-HD618J49的sql server的实例。为此,我尝试在app.config中编写一个带有此实例的硬编码连接字符串,在Data Context类中更改了ContextName,但无济于事。请给我一些关于我可能错过的指示?
我建议你在你的上下文的构造函数中指定一个连接字符串名,如[这里]所述(http://www.entityframeworktutorial.net/code-first/database-initialization-in-code-first.aspx) 。然后将该连接字符串添加到您的配置文件。应该不需要更改上下文的名称。 –
@SteveGreene我也尝试过。还是一样的错误。 –
首先要做的是使用VS(或SQL Management Studio)中的SQL Server对象浏览器连接到所需的数据库并确保您有权访问(默认情况下,您无权访问远程数据库)。其次,你的错误信息是否仍然指'。\ SQLEXPRESS'?这表明它没有使用LAPTOP-HD618J49的连接字符串。 –