EF总结

查看EF执行记录

context.Database.log+=l=>Console.WriteLine($"日志{l}");//任何时候创建context实例都会输出日志

dbContext//每一个生成的dbContext对应的都是一个数据库链接
查询起作用的时候,前提没有关闭延迟查询

1.ToList();
2.Count();
3.Foreach //查询到的数据

EF的跟踪

dbContext.SysUser<user>.Entry.Status=Detached//可以更改当前user的跟踪状态
dbContext.SysUser.Find(1).AsNoTracking();单纯查询的时候可以 抛弃EF的跟踪会提升性能。

 

EF 事务两种方式

1.var tran = BE.Database.BeginTransaction()
tran.commit();//事务提交
tran.Rollback();//事务回滚
2.dbContext.SaveChange(); //会生成SQL语句 并开启事务

延迟查询
  优点:可以叠加多次查询,一次提交给数据库,可以按需获取数据。
  缺点:只有用完了才能关闭链接。只有在context 的作用才有效。
  延迟查询数据的时候没有tolist之前 对象存储的是 表达式目录树+结果类型+解析工具+上下文 ,当真正需要的时候才会解析Sql执行Sql拿到数据

posted @ 2021-02-23 21:51  龙er飞  阅读(71)  评论(0编辑  收藏  举报