110,534
社区成员
发帖
与我相关
我的任务
分享
namespace XXX //注意和自动生成的dbContext.cs命名空间一致
{
public partial class YourEntities : DbContext
{
/// <summary>
/// 重载db.saveChanges(),让其在执行的时候记录sql日志
/// </summary>
/// <returns></returns>
public override int SaveChanges()
{
string sql = "";
this.Database.Log = (text) => { sql += text; };
var rs = base.SaveChanges();
if(!String.IsNullOrEmpty(sql))
{
记录sql的方法(sql);
}
return rs;
}
}
}
public class MyLogger
{
public void Log(string component, string message)
{
Console.WriteLine("Component: {0} Message: {1} ", component, message);
}
}
var logger = new MyLogger();
context.Database.Log = sql => logger.Log("EFApp", sql);