Как получить определенную провайдера ConnectionString из Entity Framework

с помощью ado.net типично нам нужно определить строку соединения, чтобы создать объект sqlconnection, и если мы используем инфраструктуру сущности, мы также должны указать строку соединения.

- любой способ получить конкретную строку подключения поставщика, используемую инфраструктурой сущности?

Предполагая, что изначально на ado.net мы определяем CS как:

"Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"

и Entityframework должны перевести свой формат CS на что-то подобное, можно ли это получить?

что я притворяюсь, должен знать, возможно ли получить конкретную строку соединения провайдера, сгенерированную EF?

Как я могу преобразовать строку соединения entityframework в строку подключения sqlserver?

Ответы

Ответ 1

string entityConnectionString = ...

var builder = new EntityConnectionStringBuilder(entityConnectionString);
string providerConnectionString = builder.ProviderConnectionString;

Ответ 2

Найдено решение:

            System.Data.EntityClient.EntityConnection c = (System.Data.EntityClient.EntityConnection)EFDBcontext.Connection;
            String S = c.StoreConnection.ConnectionString;