EntityFramework之Log
关于日志 属性日志 DbContext.Database.Log 属性被设置为一个委托,该委托能接受带有一个字符串参数的任何方法,最主要的是,通过设置它到 TextWriter 的 Write 方法将能应用于任何的TextWriter,通过上下文自动生成的所有SQL语句将被记录到Writer中。 例如,如下代码将记录SQL在控制台上: using ( var ctx = new EntityDbContext()) { ctx.Database.Log = Console.WriteLine; } 【注意】上下文中的日志被设置到 Console.WriteLine ;则其所有SQL代码都将会输出在控制台上。 下面我们进行一些简单的查询、修改利用日志属性来演示在控制台上进行输出(依然利用前一篇文章所给出个三给类,如若不知其关系,请参考前一篇文章): using ( var ctx = new EntityDbContext()) { ctx.Database.Log = Console.WriteLine; 或者 ctx.Database.log = s => Console.WriteLine(s); var stu = ctx.Set<Student>().First(p => p.Name == " xpy0928 " ); stu.Grades.First()