Еще одна вещь, которую нужно попробовать:
---> установить entityframework 6.2.0 через nuget.
---> Проверьте в своем файле web.config / app.config, что у вас есть поставщик System.Data.SqlServerCe.4.0
. если он не установлен, то установите его через nuget, ту же версию, что и ранее установленная платформа управления данными (в данном случае 6.2.0).
---> затем добавьте ссылки: (в данном случае из коннектора / NET версии 6.9.10) C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll
и C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
и восстановите.
---> попробуйте добавить и этого провайдера: <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
перестройте, снова.
---> и, наконец, попробуйте добавить файл .edmx с новым подключением.
Это работало в моем случае, когда я установил VS2017 и MySQL на новый ноутбук, и у меня возникла та же проблема.
Определенно нелегко сделать в Windows. Возможно, вам больше повезет с шифрованием его содержимого.
РЕДАКТИРОВАТЬ: Создание файла, недоступного для других программ, очень похоже на вирусное поведение.
Шифрование действительно, вероятно, лучший способ. У AIR есть удобное зашифрованное локальное хранилище, которое должно упростить вам этот подход:
http://livedocs.adobe.com/flex/3/langref/flash/data/EncryptedLocalStore.html
Лучше всего хранить содержимое файла в EncryptedLocalStore или локальном объекте сегментов. Хотя вы можете сохранить загруженный файл в каталоге файловой системы пользователя, вы не сможете предотвратить доступ к нему других приложений (или пользователя) в системе. Это проблема безопасности, потому что так работает множество вирусов.