实体框架6.1.3仅在DBContext.SaveChanges()发生异常时才记录SQL查询

时间:2020-01-14 06:14:56

标签: c# .net sql-server entity-framework

我正在使用Entity Framework 6.1.3。我只想在catch块中发生异常后才使用参数记录SQL查询。有什么方法可以以此方式记录查询吗?

try
{
   base.SaveChangesAsync();
}
catch(Exception ex)
{
  // I want to log SQL queries here.
}

2 个答案:

答案 0 :(得分:1)

您可以使用以下here中所述的以下任何日志记录库。

  1. Log4net(登录文本文件+登录SQL数据库)

  2. Nlog(登录文本文件+登录SQL数据库)

  3. Serilog(登录文本文件+登录SQL数据库)

  4. Elmah(登录SQL数据库)

或者,您可以创建一个过程来手动跟踪日志/问题并将其插入数据库,如下所示。

try    
 { 
   //Your code here.
 }    
 catch (Exception ex)    
 {        
   ExceptionLogging.SendExcepToDB(ex);    
   Label1.Text = "Some Technical Error occurred,Please visit after some time";     
 }  

您可以从here获取详细信息。

答案 1 :(得分:0)

将日志记录到内存流中,如果发生异常,则将日志添加到文件中。