使用 EF Code First 登录到数据库
Log to database with EF Code First
我想让 log4net 登录到我的数据库。我添加了一个 AdoNetAppender
,如 docs 中所写。文档还给出了要创建的 Log-table 的定义。由于我在 Code First 中使用 Entity Framework,并且在开发过程中经常重新创建数据库 (DropCreateDatabaseAlways
),因此我不想手动创建 table。我试图创建一个 class Log
而不是与文档中的定义相匹配。
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
时,我收到一个看似无关的错误
Cannot drop database "aspnet-myDb-20150625044347" because it
is currently in use.
但如果我取出 AdoNetAppender
,它就会消失。
如何先使用 Entity Framework 代码登录到我的数据库?感谢您的帮助。
answer here可能会解决您的问题。主要问题是数据库仍然有一个打开的连接。
短片是用Pooling=false
。由于这是在开发中,因此您不需要池化。
我知道不鼓励使用 link 的答案,但这是对另一个 SO 答案的 link,所以我认为我们在这里很安全。
希望对您有所帮助
我想让 log4net 登录到我的数据库。我添加了一个 AdoNetAppender
,如 docs 中所写。文档还给出了要创建的 Log-table 的定义。由于我在 Code First 中使用 Entity Framework,并且在开发过程中经常重新创建数据库 (DropCreateDatabaseAlways
),因此我不想手动创建 table。我试图创建一个 class Log
而不是与文档中的定义相匹配。
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
时,我收到一个看似无关的错误
Cannot drop database "aspnet-myDb-20150625044347" because it is currently in use.
但如果我取出 AdoNetAppender
,它就会消失。
如何先使用 Entity Framework 代码登录到我的数据库?感谢您的帮助。
answer here可能会解决您的问题。主要问题是数据库仍然有一个打开的连接。
短片是用Pooling=false
。由于这是在开发中,因此您不需要池化。
我知道不鼓励使用 link 的答案,但这是对另一个 SO 答案的 link,所以我认为我们在这里很安全。
希望对您有所帮助