1. 程式人生 > >EF性能優化-有人說EF性能低,我想說:EF確實不如ADO.NET

EF性能優化-有人說EF性能低,我想說:EF確實不如ADO.NET

開發 rac tracking linq 好處 系統開發 ... span 執行

十年河東,十年河西,莫欺少年窮。

EF就如同那個少年,ADO.NET則是一位壯年。畢竟ADO.NET出生在EF之前,而EF所走的路屬於模仿ADO.NET。

也就是說:你所寫的LINQ查詢,最後還是要轉化為ADO.NET的SQL語句,轉化過程中無形降低了EF的執行效率。

但是,使用EF的一個好處就是系統便於維護,減少了系統開發時間,降低了生成成本。

OK,上述只是昨個簡單的對比,那麽在實際編碼過程中,我們應當怎樣提升EF的性能呢?

1、EF使用SqlQuery

上述已經說的很明白了,EF效率低於ADO.NET是因為LINQ-TO-SQL的過程消耗了時間。而使用SqlQuery則可以直接寫SQL語句。

當然,如果你想得到更快的執行速度,你也可以在數據庫上寫存儲過程PROC

關於SqlQuery的用法,在此不作解釋。

2、EF使用AsNoTracking()?NoTracking()

未完待續...

EF性能優化-有人說EF性能低,我想說:EF確實不如ADO.NET