博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监听EF执行的sql语句及状态
阅读量:5938 次
发布时间:2019-06-19

本文共 683 字,大约阅读时间需要 2 分钟。

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; //指定某个实体被修改过

 

 

转载于:https://www.cnblogs.com/netlws/p/EF.html

你可能感兴趣的文章
Flask学习
查看>>
VC++文件操作大全
查看>>
队列的顺序存储---顺序队列
查看>>
NOIP
查看>>
MicroPython-GPS教程之TPYBoardv702控制5110显示当前经纬度
查看>>
ListView简单使用
查看>>
用HTML/JS/PHP方式实现页面延时跳转
查看>>
【Redis】安装PHP的redis驱动(二)
查看>>
java中string和int互相转化
查看>>
什么是序列化,为什么要序列化
查看>>
Java保留小数点后有效数字
查看>>
CommonHelper
查看>>
excel操作for(lutai)
查看>>
Codeforces Round #162 (Div. 2) C. Escape from Stones
查看>>
2017 Multi-University Training Contest - Team 4 phone call(树+lca+并查集)
查看>>
Struts2文件下载
查看>>
error LNK2019: 无法解析的外部符号 _PhInitializePhLib,该符号在函数 _EnumHandle 中被引用...
查看>>
lodash篇之对象深度比较_.isEqual
查看>>
python之鸭子类型
查看>>
新学期的合作
查看>>