1

你好,我安装了 MySQL Connector/Net 6.7.4,所以我能够从我的 MySql 数据库生成 edmx,但现在我想用它做些事情,所以我添加了连接字符串和:

    <DbProviderFactories>
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>

在我的 webconfig 中,但是当我创建上下文(纯由 .tt 生成)时,我在收集时遇到了异常:

在配置中找不到指定的商店提供程序,或无效。

任何想法为什么?我已经将 MySql.xxx dll 添加到我的 bin

编辑:当我修改提供者名称时,connstring 错误,所以现在看起来:

<connectionStrings>
<add name="classicmodelsEntities" connectionString="metadata=res://*/mysql.Model1.csdl|res://*/mysql.Model1.ssdl|res://*/mysql.Model1.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=localhost;user id=root;password=Password;persist security info=True;database=classicmodels&quot;" providerName="MySQL Data Provider"/>

我遇到异常:无法找到请求的 .Net Framework 数据提供程序。它可能没有安装。

4

1 回答 1

0

如果您使用的是实体框架,为什么要添加连接字符串?为我生成的连接字符串不同:

<add name="stuffEntities" 
     connectionString="metadata=res://*/Entities.MyModel.csdl|res://*/Entities.MyModel.ssdl|res://*/Entities.MyModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=myserver.com;user id=my_user;password=my_password;persistsecurityinfo=True;database=db_example&quot;" 
     providerName="System.Data.EntityClient" />

在 References 上添加您的 MySQL 引用,本地副本为 True。还要在 Web.config 中添加所需的配置,通过NuGet安装缺少的包。

为此,请右键单击您的解决方案或项目,单击管理 NuGet 包,然后安装缺少的 MySQL.Data 参考。这应该使用参考修改您的 Web.config。

于 2015-06-05T16:34:05.323 回答