微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐