2

我首先使用 EF 4.3 代码。开发 EF Code first 应用程序并使 CRUD 操作在我的开发箱上做得非常好。在我将代码移动到 WCF 服务测试服务器后,真正的问题开始了。当我尝试插入一条记录时,我得到了

“从数据库获取提供程序信息时出错。这可能是由于实体框架使用了不正确的连接字符串造成的。请检查内部异常以获取详细信息并确保连接字符串正确”

Web 服务器中的相同代码运行良好,并且由另一位开发人员完成(现在离开公司),在将其部署到 WCF 测试服务器之前,我应该在 IIS 或应用程序配置中进行任何其他配置设置吗?我的意思是我需要在 GAC 中安装一些东西或验证吗?

WCF 服务器:Windows Server 2008 R2

EF 版本:EF 4.3 代码优先。数据库在 WCF 测试服务器上部署之前存在

配置文件:

<connectionStrings>
<add name="MyApplicationDbContext" providerName="System.Data.SqlServerCe.4.0"    connectionString="Server=jmicsq10webdev\web_dev;Database=PlEcom;Integrated Security=SSPI;" />
</connectionStrings>

<configSections>   
<section name="entityFramework"   type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>

我也尝试了 ProverderName = "system.Data.SqlClient.dll",但没有解决我的问题

4

3 回答 3

2

我得到了同样的错误,所以我去改变了

AttachDBFilename=|DataDirectory|\aspnet.mdf" 
providerName="System.Data.SqlServerCe.4.0"/>

这条线到

AttachDBFilename=|DataDirectory|\aspnet-MvcHopitalPatient-20121116125855.mdf"
providerName="System.Data.SqlClient" />

到下面的代码片段

 <connectionStrings>
   <add name="PatientDBContext"
        connectionString="Data Source=|DataDirectory|Patients.sdf"
        providerName="System.Data.SqlServerCe.4.0"/>

    <add name="DefaultConnection" 
        connectionString="Data Source=(LocalDb)\v11.0;
        Initial Catalog=aspnet-MvcHopitalPatient-20121116125855;
        Integrated Security=SSPI;
        AttachDBFilename=|DataDirectory|\aspnet-MvcHopitalPatient-20121116125855.mdf"
        providerName="System.Data.SqlClient" />

 </connectionStrings>
于 2012-11-17T10:30:38.267 回答
0

尝试使用常规 SqlClient 而不是精简版?

<connectionStrings>
<add name="MyApplicationDbContext" providerName="System.Data.SqlClient"    connectionString="Server=jmicsq10webdev\web_dev;Database=PlEcom;Integrated Security=SSPI;" />
</connectionStrings>
于 2012-06-13T16:23:11.890 回答
0

您需要从控制面板启动 SQL Server 服务。有时服务会停止。我有同样的问题。原因是 Sql 服务没有运行。启动服务解决了问题

于 2013-11-12T06:15:46.133 回答