Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework EntityFramework和更新数据库已停止工作_Entity Framework_Ef Code First_Code First - Fatal编程技术网

Entity framework EntityFramework和更新数据库已停止工作

Entity framework EntityFramework和更新数据库已停止工作,entity-framework,ef-code-first,code-first,Entity Framework,Ef Code First,Code First,我首先使用EF和代码使一切工作正常,直到我更改了配置类以添加一些额外的种子数据,然后尝试了 Update-Database 现在我每次都得到下面的错误 指定'-Verbose'标志以查看应用于目标数据库的SQL语句。System.Data.SqlClient.SqlException (0x80131904):发生与网络相关或特定于实例的错误 在建立与SQL Server的连接时。服务器不可用 找到或无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (提供程序:SQL网

我首先使用EF和代码使一切工作正常,直到我更改了配置类以添加一些额外的种子数据,然后尝试了

Update-Database
现在我每次都得到下面的错误

指定'-Verbose'标志以查看应用于目标数据库的SQL语句。System.Data.SqlClient.SqlException (0x80131904):发生与网络相关或特定于实例的错误 在建立与SQL Server的连接时。服务器不可用 找到或无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (提供程序:SQL网络接口,错误:26-定位错误) 服务器/实例(已指定)

我可以在sql对象资源管理器中连接和查看数据库,甚至可以查看表和数据。我不知所措,打算先放弃代码,然后再转到数据库,甚至可能很快就会转到存储过程

我的连接字符串如下所示

<add name="MyDbContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDbContext.mdf;Initial Catalog=MyDb;Integrated Security=True" providerName="System.Data.SqlClient" />


该死,我将项目设置为启动项目,然后运行命令,现在看起来一切正常!Grrrr。我假设从“默认项目:选择”下拉列表中选择项目可以做到这一点,但显然不行。

您可以通过ConnectionString参数指定连接字符串:

Update-Database -ConnectionString "data source=server_name;initial catalog=db_name;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" -ConnectionProviderName "System.Data.SqlClient" -Verbose
您还需要将此参数与添加迁移命令的值相同:

Add-Migration Version_Name -ConnectionString "data source=server_name;initial catalog=db_name;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" -ConnectionProviderName "System.Data.SqlClient" -Verbose

上下文是否位于定义连接字符串的不同项目中?某些项目的名称也保持不变。刚刚停止工作并在访问sql Server时出错上下文的构造函数是什么样子的?如果使用以下命令,它是否也可以工作:
更新数据库-ConnectionStringName MyDbContext
?这很奇怪,我使用-ConnectionStringName开关并将字符串复制到配置文件中,然后我就出错了“找不到连接字符串名称‘MyDbContext’!