EF优缺点的理解
原先用的是三层架构中ADO.NET
做底层开发,纯手工sql
语句拼装。后来遇到一个MVC+EF
项目,体会到了EF
的强大性。
它是微软封装好一种ADO.NET
数据实体模型,将数据库结构以ORM
模式映射到应用程序中。
优点:
1.简洁的Linq to Sql
语句大大提高了开发人员的效率,不要再写复杂的sql
语句;
2.不再需要再管应用程序如何去连接数据库;
3.EF
可以用作用于数据服务和OData Service
的基础设施;
缺点:
1.由于linq
语句编译之后就是sql
,对于这种自动生成的sql
语句无法控制;
2.EF
的运行机制会消耗大量内存,大大降低了程序运行效率,从而导致降低了用户在客户端的体验效果;
3.一旦数据结构发生变化,需要更新EF
数据model
;有时还可能会出现找不到更新过的实体类这种情况;