Entity Framework注意事项
起因
最近公司项目数据量上来了,造成系统响应缓慢.由于在我入职公司不是很久,原先并没有多少使用ORM框架的经验,其实是在.Net下没有使用过EntityFramework(Dapper使用过),在Java项目下一直都是使用Mybatis的.都是在写Sql,对于Entity Framework这种ORM,还有很多东西要学.暂时想到这些,后面遇到或者想起的时候,在进行补充.
EntityFramework使用注意事项
- 对于查询对象或列表,不需要修改的,要加 AsNoTracking()
- 对于查询条件,查看是否走索引(重要)
- 查询需要字段,尽量避免所有表内所有字段
- 查询数据,加条件限制,如进行分页
- 对于多列排序多次使用OrderBy,避免后面列覆盖前面列,要使用ThenBy
- 对于多表查询,使用Include,避免懒加载,生成多条sql
- 使用AutoMapper,减少ForMember次数,避免懒加载
- 批量修改,可以直接通过sql更新
- 对于统计/求和之类的,尽量在数据库计算.
秋风
2021-05-23