好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

c# – WCF和实体框架和SQL Server – “基础提供程序在打开时失败”

我通过WCF测试客户端成功运行测试,直到我尝试使用Entity Framework提取数据.

为了确保我没有做任何愚蠢的事情,我从本教程中下载了示例代码,它正在做类似的事情:http://www.codeproject.com/KB/WCF/WCFandEF.aspx

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

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

错误是

The underlying provider failed on Open.

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

在这里和谷歌上进行研究“基础提供商在开放时失败了”.通常表示这是一个连接字符串问题,但我很确定它不是在这种情况下.

所以现在我希望它是某种权限问题.

我正在使用Visual Studio 2010的SQL Server和Windows 7.

从昨天开始,我一直在敲打我的脑袋,所以任何帮助或保护头盔都会受到赞赏.

编辑包含连接字符串

<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中,您有一个连接字符串,您可以将粘贴复制到您自己的项目中

查看更多关于c# – WCF和实体框架和SQL Server – “基础提供程序在打开时失败”的详细内容...

  阅读:48次