Измените строку подключения в EF6 на основе поставщика из конфигурации

c# entity-framework-6 orm

Вопрос

Я перешел в EntityFramework 6 из EF5.

Теперь я столкнулся с проблемой, я хочу изменить строку подключения на основе поставщика, установленного в app.Config. Значение Если это SqlServerCe, тогда мне нужно изменить имя файла базы данных .sdf, чтобы изменить базу данных. Если это SqlServer, мне нужно изменить InitialCataloge.

Я сделал это, получив тип

'Database.DefaultConnectionFactory', но это устарело в EF6.

Как изменить строку подключения на основе поставщика.

Я не могу этого сделать, используя атрибут DbConfiguration, поскольку мне нужно каждый раз изменять строку подключения.

Принятый ответ

Вы можете использовать

DbConfiguration.SetConfiguration(new YourDbConfiguration());

поэтому вы можете использовать свой конфиг без использования атрибута.

Но если я использую

DbConfiguration.SetConfiguration(new YourDbConfiguration());

чтобы настроить фабрику SQL CE, путь «C: \ test» будет проигнорирован, и мне также нужно установить Database.DefaultConnectionFactory !!




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему