我一直在研究Silverlight应用程序。该应用程序应该由Godaddy托管。
应用程序连接到MySql,因为它是后端数据库并使用实体框架。
该应用程序在Visual Studio上正常工作。但是,当我将文件移动到Godaddy时,我开始遇到一些问题。应用程序开始抛出MetadataException。
我用Fiddler跟踪问题。第一个WCF请求被正确终止,但后续请求因标题代码500而失败。抛出以下异常。
我很感激帮助我完成这个问题,因为我尝试了很多解决方案。
请注意: 我在Godaddy上托管了另一个使用MS SQL SERVER的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
....
....
....
答案 0 :(得分: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>