1

私は Silverlight アプリケーションに取り組んでいます。このアプリケーションは Godaddy でホストされることになっています。

アプリケーションはバックエンド データベースとして MySql に接続し、エンティティ フレームワークを使用します。

アプリケーションは Visual Studio で正しく動作します。しかし、ファイルを Godaddy に移動したときに、いくつかの問題が発生し始めました。アプリケーションが MetadataException のスローを開始しました。

問題を追跡するために Fiddler を使用しました。最初の WCF 要求は正しく終了しますが、後続の要求はヘッダー コード 500 で失敗します。次の例外がスローされます。

私は多くの解決策を試してきたので、この問題を解決するのを助けていただければ幸いです。

  • EDMX モデルを完全に削除し、構成ファイルの接続文字列からエントリを削除しました。次に、データベースから edmx ファイルを再作成しました。
  • connectionString のメタデータ タグを "metadata="res://*/" に置き換えましたが、うまくいきませんでした

注: アプリケーションが正常に動作する MS SQL SERVER を使用する Godaddy でホストされている別の Silverlight アプリケーションがあります。

[MetadataException: Schema specified is not valid. Errors: 
KaneeFollowUpModel.ssdl(2,93) : error 0175: The specified store provider cannot be found in the configuration, or is not valid.]
System.Data.Metadata.Edm.Loader.ThrowOnNonWarningErrors() +8566285
System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths) +181
System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerManifestToken, Memoizer`2& cachedCTypeFunction) +211
System.Data.Metadata.Edm.StoreItemCollection..ctor(String[] filePaths) +420
System.Data.Mapping.MetadataWorkspaceUtilities.CreateMetadataWorkspaceFromResources(Type contextType, Type baseContextType) +298
System.Data.Mapping.MetadataWorkspaceUtilities.CreateMetadataWorkspace(Type contextType) +28
....
....
....
4

1 に答える 1

0

Pawel が言及した問題を解決しました。Ladislav Mrnka が提供したスレッドは、MYSQL EF プロバイダーに関するものでした。

問題を解決するために次のことを行いました。

1) Mysql.Web、Mysql.Data、および Mysql.Data.Entity が参照に追加されていることを確認しました

2) 追加:

<add assembly="MySql.Data, Version=6.4.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>

構成ファイルのアセンブリセクションに

3) 構成ファイルに次のセクションを追加しました。

<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.4.4.0,     Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
  </DbProviderFactories>
于 2012-05-22T09:13:44.070 に答える