После этого в настройках мастера появился провайдер.
вел день, пытаясь перенести Entity Framework 6 SQL Server CE на PostgreSQL.
Я скопировал базу данных слишком хорошо, но я не могу заставить поставщика данных работать.
Сначала я попробовал старую версию EF провайдера 2.2.7, для которой не требуется .NET 4.5 (потому что наш проект не может ее использовать), но это не сработало. Я используюNpgsqlConnection
вместоSqlConnectionStringBuilder
и изменил app.config, чтобы иметь строку подключения сHost
(Я старалсяServer
но это не понравилось) иDatabase
значения, и убедитесь, что раздел EF выглядит следующим образом:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
</providers>
</entityFramework>
Теперь я проигнорировал это ограничение просто для того, чтобы попытаться заставить его работать, поэтому у меня есть версия поставщика EF EF6 v3.1.1 и последний поставщик .NET (v3.2.2), и это тоже не работает.
В попытке исправить это, я также пытался повторно синхронизировать EDMX из SQL Server CE с заменой PostgreSQL, установив расширение VS2015, но он просто выдал сообщение о том, что произошла ошибка, поэтому я попробовал это:https://github.com/npgsql/npgsql/issues/1514 который пошел дальше, открыв окно, но затем разбился, как только я напечатал в коробках. После обновления проекта до .NET 4.5 этот поставщик больше не появляется ...
Я пытался переустановить все несколько раз и многократно перезапускать VS, и с момента обновления я также попытался установить файлы GAC, так как не было ясно, нужно ли расширение VS (также v3.2.2).
Кто-нибудь может пролить некоторый свет на то, как проще всего заставить все это работать, желательно без требования .NET 4.5?
Спасибо