Когда вы выполняете виртуальную машину 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 (Ранние объекты), десятое издание
Вы не можете - по крайней мере, не напрямую. Что вам нужно сделать, так это извлечь часть строки подключения 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;
Марк
Вы можете извлечь строку подключения к базе данных с помощью 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;
}
Чтобы подключить эту строку подключения к базе данных в Elmah, вам необходимо установить ее на Application_Start (в Global.asax)