zoukankan      html  css  js  c++  java
  • 监听EF执行的sql语句及状态

    1、监听EF执行sql的方式

    • db.Database.Log += c => Console.WriteLine($"sql:{c}");
    • SQL Server Profiler
     public JDDbContext()
                : base("name=JDDbContext")
            {
                this.Database.Log += c => Console.WriteLine($"sql:{c}");
            }

    2、查看EF对象上下文监听对象的状态

    • db.Entry<User>(userNew).State
    • db.Users.Where(u => u.Id == 21).AsNoTracking().FirstOrDefault(); //AsNoTracking() 函数用于设置当前操作不跟踪对象的状态,加一个可以提升性能
    • db.Entry<User>(user).State = EntityState.Modified;  //手动设置对象的状态
    • Find函数可以使用缓存,优先从内存查找(限于db),但是linq时不能用缓存,每次都是要查询的

    • db.Entry<User>(user5).Property("Name").IsModified = true;//指定某字段被改过
    • db.Entry<User>(user).State = EntityState.Modified; //指定某个实体被修改过

     

  • 相关阅读:
    第4章 Android移植环境搭建
    第3章 Android移植平台工具介绍
    第2章
    第1章 Android系统的编译和移植实例:
    nfs
    TFTP服务器搭建
    根系统制作
    nfs挂载
    uboot的编译
    交叉工具链的搭建方法
  • 原文地址:https://www.cnblogs.com/netlws/p/EF.html
Copyright © 2011-2022 走看看