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 をビンに追加しました

編集:プロバイダー名を変更したときに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 Data Provider が見つかりません。インストールされていない可能性があります。

4

1 に答える 1

0

Entity Framework を使用している場合、接続文字列を追加するのはなぜですか? 私のために生成された接続文字列は異なっていました:

<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" />

ローカル コピーの場合は True を使用して、参照に MySQL 参照を追加します。また、必要な構成を Web.config に追加し、不足しているパッケージをNuGetを介してインストールします。

これを行うには、ソリューションまたはプロジェクトを右クリックし、[NuGet パッケージの管理] をクリックして、不足している MySQL.Data 参照をインストールします。これにより、参照を使用して Web.config が変更されます。

于 2015-06-05T16:34:05.323 に答える