zoukankan      html  css  js  c++  java
  • 【译】第39节---EF6-数据库命令日志

    原文:http://www.entityframeworktutorial.net/entityframework6/database-command-logging.aspx

    本节,我们学习如何记录Entity Framework发送到数据库的命令和查询。

    在EF 6之前,我们使用数据库跟踪工具或第三方跟踪实用程序跟踪由Entity Framework发送的数据库查询和命令。 现在,EF 6提供了一个简单的机制来记录Entity Framework所做的一切。 它使用context.database.Log记录EF执行的所有活动。

    可以附加任何类的任何方法,它接受一个字符串参数并返回void。

    在下面的例子中,我们使用Console.Write方法记录EF活动:

    using (var context = new SchoolDBEntities())
    {
        context.Database.Log = Console.Write;
        var student = context.Students
                            .Where(s => s.StudentName == "Student1").FirstOrDefault<Student>();
    
        student.StudentName = "Edited Name";
        context.SaveChanges();
    }

    输出如下:

    可以在输出中看到它记录了EF执行的所有活动,例如,打开和关闭连接,执行和完成时间以及数据库查询和命令。

    Context.Database.Log是一个Action <string>,所以可以附加一个具有一个字符串参数和void返回类型的方法。 例如:

    public class Logger
        {
            public static void Log(string message)
            {
                Console.WriteLine("EF Message: {0} ", message);
            }
        }
    
    class EF6Demo
        {
        
            public static void DBCommandLogging()
            {
                using (var context = new SchoolDBEntities())
                {
                    
                    context.Database.Log =  Logger.Log;                
                    var student = context.Students
                                    .Where(s => s.StudentName == "Student1").FirstOrDefault<Student>();
    
                    student.StudentName = "Edited Name";
                    context.SaveChanges();
                }
            }
    }
  • 相关阅读:
    2019浙江理工校赛有感
    问题 G: 跳马棋
    问题 H: 象棋对局胜负
    问题 C: 远离原点
    问题 B: 合并车厢
    Hibernate 异常汇总
    设计模式
    1.2.1.2.1.12.34.3.1.34.1.2
    数据结构和算法之 查找
    数据结构和算法之排序算法
  • 原文地址:https://www.cnblogs.com/talentzemin/p/7389529.html
Copyright © 2011-2022 走看看