有没有一种方法可以跟踪数据上下文何时到达数据库



我正在为wpf应用程序中的一组表单使用数据上下文对象,并将一些控件绑定到表的一些子表。我想跟踪数据上下文访问数据库的确切时间。实现这一点最简单的方法是什么?

使用DataContext.Log属性:

db.Log = Console.Out;

其中db是您的DataContext。如果构造了DataContext的多个实例,请在DataContext构造函数中设置Log,以便对它们进行适当的记录。

您可以使用此技术登录到文件、内存或调试窗口,如本教程所示。如果定义了自定义TextWriter派生,则可以在访问数据库时输出当前DateTime.Now以及相关的SQL语句。

TextWriter的扩展可能看起来有点像:

class LoggingTextWriter : TextWriter 
{
    private const string LogFilePath = @"C:your_log_file.txt";
    public override void Write(char[] buffer, int index, int count) 
    {
        Write(new String(buffer, index, count));
    }
    public override void Write(string value) 
    {
        File.AppendAllText(LogFilePath, DateTime.Now + value);
    }
    public override Encoding Encoding
    {
        get { return Encoding.Default; }
    }
}

db.Log = new LoggingTextWriter();

最新更新