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