Я хотел бы иметь log4net log в моей базе данных. Я добавил AdoNetAppender
, как указано в docs. Документы также дают определение для создания таблицы журналов. Поскольку я использую Entity Framework с кодом First, и я часто создаю базу данных (DropCreateDatabaseAlways
) во время разработки, я не хочу вручную создавать таблицу. Вместо этого я попытался создать класс Log
, который соответствует определению в документах.Вход в базу данных с кодом EF Сначала
public class Log
{
public int Id { get; set; }
public DateTime Date { get; set; }
public string Thread { get; set; }
public string Level { get; set; }
public string Logger { get; set; }
public string Message { get; set; }
public string Exception { get; set; }
}
Однако при использовании AdoNetAppender
я получаю ошибку, которая, кажется, не связанные
Невозможно удалить базу данных «Сеть САШ-MyDB-20150625044347», потому что в настоящее время используется.
но это исчезает, если я вывожу AdoNetAppender
.
Как я могу сначала войти в свою базу данных с помощью кода Entity Framework? Спасибо за любую помощь.
Вы можете попробовать выдачи вызова, такие как 'context.Set(); 'перед любой инициализацией коды' log4net'. Я подозреваю, что структура протоколирования подключается к базе данных до того, как EF пытается сбросить и воссоздать базу данных, что приведет к сбою операции отказа. –