原先用的是三層架構中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
;有時還可能會出現找不到更新過的實體類這種情況;