MetadataException:指定的模式无效
我一直在研究Silverlight应用程序。 这个应用程序应该与Godaddy托管。
该应用程序连接到MySql,因为它是后端数据库并使用实体框架。
该应用程序在Visual Studio上正常工作。 但是,当我将文件移至Godaddy时,我开始出现一些问题。 该应用程序开始抛出MetadataException。
我用小提琴来追踪这个问题。 第一个WCF请求被正确终止,但后续请求失败,头代码为500.抛出以下异常。
我希望能帮助我解决这个问题,因为我尝试了很多解决方案。
注意:我有另一个托管在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>
链接地址: http://www.djcxy.com/p/38801.html