2013-04-08 87 views
6

我有一个Winform应用程序并且正在使用EntityFramework。应用程序在我的开发机器中运行得很好,但是当我尝试在客户端机器上运行时,我得到“指定的存储提供程序在配置中找不到,或者无效”错误。我已经与客户端分发了EntityFramework.dll。为什么我得到这个错误? 。我不把连接字符串中的app.config文件,因为它是基于在运行时选择的数据库上的动态创建(我使用VistaDB的数据库)EntityFramework,在配置中找不到指定的存储提供者,或者无效

在app.config低于:

<configuration> 
<configSections> 
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
</configSections> 
<connectionStrings> 
</connectionStrings> 
<entityFramework> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
</entityFramework> 
</configuration> 
+3

可能的重复:http://stackoverflow.com/questions/8705108/mysql-entity-framework-error-the-specified-store-provider-cannot-be-found-in-t – Srinivas 2013-04-08 12:08:21

+1

这真的看起来像一个错误connectionString问题。特别检查字符串的数据源部分,并确实对应于有效的数据库。 – Alkaline 2013-04-08 13:04:13

+1

@Alkaline我没有在app.config文件中放入任何连接字符串。它在运行时动态添加。此外,该应用程序在我的开发机器中工作正常该错误只出现在客户端机器 – jeff 2013-04-08 13:37:21

回答

0

基于哪种类型的使用,你需要提供要由Entityframe使用ORM Db的设置数据库的工作

<system.data> 
    <DbProviderFactories> 
     <remove invariant="MySql.Data.MySqlClient" /> 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data" /> 
    </DbProviderFactories> 
    </system.data> 
+0

请提供一个解释一起正确的代码,人们在这里学习以及解决他们的问题。 “为什么”和SO上的“如何”一样重要。 – BenjaminPaul 2015-02-09 16:58:46

+0

根据您使用哪种类型的DataBase您需要提供将由Entityframe工作使用的Db ORM设置。 – Jay 2015-02-10 17:52:33

+0

编辑答案,不要在评论中留下额外的信息。 – BenjaminPaul 2015-02-11 09:29:06

2

我有这个问题。我卸载了连接器.NET并重新安装它。现在它可以工作。

+0

这也适用于我。我必须每月重新安装1-2次才能继续工作,没有任何意义...... – Diemauerdk 2015-04-22 07:37:57

+0

你是什么意思的“连接.NET”,你在哪里卸载(在第二台机器上)? – 2016-03-28 09:34:15

相关问题