Могут ли строки подключения Entity Framework повторно использовать существующую строку подключения? - PullRequest
5 голосов
/ 26 марта 2009

В моих файлах конфигурации у меня есть строка подключения, используемая устаревшей частью приложения (с использованием наборов данных), и другая строка для Entity Framework:

<connectionStrings>
    <add name="Database" connectionString="Server=..." />
    <add name="Entities" connectionString="metadata=.....connection string='Server=..." />
</connectionStrings>

Это означает, что имя сервера, имя базы данных и т. Д. Указываются дважды. Я хотел бы сказать строке подключения EF повторно использовать первую строку - это возможно?

Ответы [ 2 ]

16 голосов
/ 15 декабря 2009

Я знаю, что этот пост немного стар, но я думаю, что это поможет кому-то там:

Вы можете использовать EntityConnectionStringBuilder для создания вашего EF-соединения из существующей строки соединения. Это пример, который я использую в своем собственном коде:

public static string GetEntityFrameworkConnectionString(string clientConnectionString)
{
    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
    entityBuilder.Provider = "System.Data.SqlClient";
    entityBuilder.ProviderConnectionString = clientConnectionString;
    entityBuilder.Metadata = "res://*/Entities.UBTEntities.csdl|res://*/Entities.UBTEntities.ssdl|res://*/Entities.UBTEntities.msl";
    return entityBuilder.ToString();
}

Поэтому, когда вы создаете экземпляр своего EF-провайдера, просто передайте строку, возвращенную вышеописанным методом, в конструктор.

Надеюсь, это поможет.

1 голос
/ 26 марта 2009

Я думаю, что лучшим подходом было бы реорганизовать приложение для использования только одной строки подключения, а не пытаться ссылаться на одну из другой в вашем файле конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...