MetadataException: указанная схема недопустима
Я работал над приложением Silverlight. Это приложение должно быть размещено с Godaddy.
Приложение подключается к MySql в качестве внутренней базы данных и использует платформу сущностей.
Приложение корректно работает в Visual Studio. Однако, когда я переместил файлы в Godaddy, у меня начались некоторые проблемы. Приложение начало выдавать исключение MetadataException.
Я использовал Fiddler для отслеживания проблемы. Первый запрос WCF завершен правильно, однако последующий запрос завершается неудачно с кодом заголовка 500. Выдается следующее исключение.
Я был бы признателен за помощь в решении этой проблемы, поскольку я пробовал много решений.
- Я полностью удалил модель EDMX и удалил запись из строк подключения в файле конфигурации. Затем заново создайте файл edmx из базы данных.
- Я заменил тег метаданных в connectionString на "metadata="res://*/", но не повезло
примечание: у меня есть еще одно приложение Silverlight, размещенное на Godaddy, которое использует 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
....
....
....
1 ответ
У меня есть проблема, упомянутая Павлом, и ветка, предоставленная Ладиславом Мрнкой, была связана с провайдером 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>