Как использовать строку подключения EntityFramework для Elmah?

Когда вы выполняете виртуальную машину Java (JVM) с помощью команды java,

java ClassName argument1 argument2 ...

Когда вы выполняете свое приложение, вы указываете его имя класса в качестве аргумента команды java, как указано выше.

JVM пытается вызвать основной метод класса, который вы укажете

- в этот момент никакие объекты класса не были созданы.

Объявление main как статического allows JVM для invoke основного without создания instance класса.

давайте вернемся к команде

ClassName - это command-line argument для JVM, которая сообщает ему, какой класс выполнять. Следуя ClassName, вы также можете указать list of Strings (разделенный пробелами) в качестве аргументов командной строки, которые JVM передаст вашему приложению. -Такие аргументы могут быть использованы для указания параметров (например, имени файла) для запуска приложения - вот почему в главном

указан параметр String[] args Ссылки: Java ™ How To Program (Ранние объекты), десятое издание

8
задан abatishchev 28 July 2013 в 08:41
поделиться

2 ответа

Вы не можете - по крайней мере, не напрямую. Что вам нужно сделать, так это извлечь часть строки подключения EF, которая действительно ссылается на базу данных (строка подключения поставщика ), и поместить ее в свою собственную запись в вашего web.config:

<connectionStrings>
  <add name="EducoparkELMAH"
      connectionString="Data Source=(Local);Initial Catalog=...;User Id=...;Password=...;MultipleActiveResultSets=True" 
      provider="System.SqlClient" />
</connectionStrings>

Или вы можете сделать это программно - у контекста сущности будет свойство под названием «Connection», которое, в свою очередь, имеет свойство «ConnectionString», которое вы ищете :

string elmahConnectionString = EducoparkEntities.Connection.ConnectionString;

Марк

2
ответ дан 5 December 2019 в 10:43
поделиться

1

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

private string ExtractConnectionStringFromEntityConnectionString(string entityConnectionString)
{
    // create a entity connection string from the input
    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(entityConnectionString);

    // read the db connectionstring
    return entityBuilder.ProviderConnectionString;
}

2

Чтобы подключить эту строку подключения к базе данных в Elmah, вам необходимо установить ее на Application_Start (в Global.asax)

10
ответ дан 5 December 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: