Entity Framework注意事项

起因

最近公司项目数据量上来了,造成系统响应缓慢.由于在我入职公司不是很久,原先并没有多少使用ORM框架的经验,其实是在.Net下没有使用过EntityFramework(Dapper使用过),在Java项目下一直都是使用Mybatis的.都是在写Sql,对于Entity Framework这种ORM,还有很多东西要学.

暂时想到这些,后面遇到或者想起的时候,在进行补充.

EntityFramework使用注意事项

  1. 对于查询对象或列表,不需要修改的,要加 AsNoTracking()
  2. 对于查询条件,查看是否走索引(重要)
  3. 查询需要字段,尽量避免所有表内所有字段
  4. 查询数据,加条件限制,如进行分页
  5. 对于多列排序多次使用OrderBy,避免后面列覆盖前面列,要使用ThenBy
  6. 对于多表查询,使用Include,避免懒加载,生成多条sql
  7. 使用AutoMapper,减少ForMember次数,避免懒加载 
  8. 批量修改,可以直接通过sql更新 
  9. 对于统计/求和之类的,尽量在数据库计算.

秋风 2021-05-23