具有实体框架的DLL无法连接到数据库

时间:2016-07-26 08:26:33

标签: c# asp.net asp.net-mvc web-config entity-framework-6

我有一个单独的dll来处理与数据库的连接,因此保存模型和api上下文。 app.config'行为'喜欢web.config并保存连接细节但是我一直收到以下错误

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

所以我从另一个更传统的mvc web.config文件中复制了连接字符串,但错误仍然存​​在。

奇怪的是,以下作品:

 update-database -verbose

我的app.config具有以下连接字符串:

<add name="DefaultConnection" 
     connectionString="data source=(LocalDb)\v11.0;initial catalog=APIEntities-01;persist security info=True; Integrated Security=SSPI;MultipleActiveResultSets=True" 
     providerName="System.Data.SqlClient" />

并且dbContext指向它

 public ApiContext() : base("DefaultConnection")
 {
 }

正如我所说,这适用于传统的MVC web.config,但使用引用实体框架的dll,似乎无法找到数据库。有什么建议吗?

EF 6

2 个答案:

答案 0 :(得分:1)

我认为连接字符串是因为&#34;数据源=(LocalDb)\ v11.0;初始目录= APIEntities-01&#34;是PC的本地路径。您必须提供需要使用的真实SQL Server。见:

Change default location of LocalDb

答案 1 :(得分:0)

有些时候,当sql server无法打开时,它很容易。然后打开sql server配置,然后选择(sql server Services)查看已停止或手动的状态...右键单击然后启动...然后问题就解决了。