Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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
C# WCF&;实体框架及;SQL Server-“SQL Server”;基础提供程序在打开时失败";_C#_Sql Server_Visual Studio_Wcf_Entity Framework - Fatal编程技术网

C# WCF&;实体框架及;SQL Server-“SQL Server”;基础提供程序在打开时失败";

C# WCF&;实体框架及;SQL Server-“SQL Server”;基础提供程序在打开时失败";,c#,sql-server,visual-studio,wcf,entity-framework,C#,Sql Server,Visual Studio,Wcf,Entity Framework,我正在通过WCF测试客户机成功地运行测试,直到我尝试使用实体框架拉入数据 为了确保我没有做任何愚蠢的事情,我下载了本教程中的示例代码,它也做了类似的事情: …当我运行它时,我在类似的地方得到相同的错误: var productEntity = (from p in context.ProductEntities where p.ProductID == id select p).FirstOrDefault()

我正在通过WCF测试客户机成功地运行测试,直到我尝试使用实体框架拉入数据

为了确保我没有做任何愚蠢的事情,我下载了本教程中的示例代码,它也做了类似的事情:

…当我运行它时,我在类似的地方得到相同的错误:

var productEntity = (from p in context.ProductEntities 
                     where p.ProductID == id
                     select p).FirstOrDefault();
错误是

基础提供程序在打开时失败

我可以使用相同的连接字符串从“普通应用程序”中打开数据库,这似乎是从WCF测试客户端访问数据库的特定操作

在这里和谷歌上对“基础提供商在Open上失败”的研究表明这是一个连接字符串问题,但我很确定这不是在这种情况下

所以现在我想这是某种权限问题

我使用的是SQL Server和Windows 7以及visual studio 2010

我从昨天起就一直在磕头,所以任何帮助或保护性头套都非常感谢

编辑以包括连接字符串

<add name="NorthwindEntities" 
     connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider
connection string=&quot;Data Source=localhost;Initial Catalog=Northwind;User ID=sa;MultipleActiveResultSets=True&quot;" 
     providerName="System.Data.EntityClient" />

此错误意味着您的连接字符串100%有问题

创建正常工作的连接字符串的一个好方法是创建一个新的(虚拟)项目,向其中添加实体框架数据模型,选择“从数据库生成模型”,选择所需的连接,然后单击“测试连接”以确保其正常工作。
确保勾选了“将App.Config中的实体连接设置另存为:…”。

然后,在web/app.Config中,您有一个连接字符串,可以复制并粘贴到您自己的项目中

您是否尝试将数据库密码插入连接字符串中? 这对我有用

参考:

好吧,我有好几天都犯同样的错误……实际上有两天,是的,我找到了解决办法

至于我…我在实体服务连接上设置了Windows身份验证..所以我所做的是转到web服务的IIS 7应用程序池高级设置..将标识从“ApplicationPoolIdentity”更改为“Network Service”,并设置了当前用户名和密码


稍后我可能会面临一些其他问题,但我仍然会说一个良好的开端:-)!

我删除了“integrated security=True;通过这种方式解决。

您可以共享您的连接字符串吗?您有“删除数据库”功能吗“是否启用初始值设定项并同时打开MS SQL Management Studio?这会导致这样的异常,因为在这种情况下您不能删除数据库,并且EF失败。@flipchart-我已经编辑了上面的内容以添加内容that@UrbanEsc-我不太明白你在说什么,所以我关闭了sql server studio并再次尝试,但没有成功。谢谢。连接字符串没有
sa
用户的密码。请注意,
基础提供程序在打开时失败也可能是因为授权问题。内部异常将声明是否存在这种情况。可能出现这种情况的一个例子是,UAC打开,数据文件存储在
程序文件
目录中问题中的任何地方。你能详细说明并使你的答案清晰易懂吗?你应该删除内部加密并添加用户ID和密码。这是我的连接字符串: