我一直在研究Silverlight应用程序。该应用程序应该由Godaddy托管。

该应用程序连接到MySql作为后端数据库,并使用实体框架。

该应用程序可以在Visual Studio上正常工作。但是,当我将文件移到Godaddy时,我开始遇到一些问题。该应用程序开始引发MetadataException。

我已经使用Fiddler来跟踪问题。第一个WCF请求正确终止,但是随后的请求失败,标头代码为500。引发以下异常。

我已经尝试了许多解决方案,希望能帮助我解决该问题。


我已经完全删除了EDMX模型,并从配置文件中的连接字符串中删除了该条目。然后再次从数据库重新创建edmx文件。
我已经用“ metadata =“ res:// * /”替换了connectionString中的元数据标记,但是没有运气


注意:
我在Godaddy上托管了另一个Silverlight应用程序,该应用程序使用MS SQL SERVER可以正常运行。

[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
....
....
....

最佳答案

我已经解决了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>

关于c# - MetadataException:指定的架构无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10673262/

10-11 15:48