entity framework 是否線程安全
提高entity framework 性能的註意事項如下:
分頁的時候,盡量在數據庫裏面去分頁.
盡量禁用延遲加載,盡量使用預加載和顯式加載查詢.
如果啟用延遲加載,這樣會造成多次往返數據庫查詢的.勢必造成性能低下.
註意事務的簡短性.
在使用事務時,要盡量把查詢語句或者其他響事務外的語句移在事務外執行.不然讓壹個事務的時間太長了,就容易引起資源死鎖的問題.
查詢出來的實體,如果不考慮刪除和修改,請用NoTracking
批量刪除和修改,不要用先把實體查詢出來,然後再逐個刪除和修改.這樣會產生大量的語句,效率肯定會低.
使用已編譯的查詢,雖然到EF5.0, LINQ 查詢是自動緩存的.但使用編譯查詢會比自動緩存的效率高.
對於復雜的查詢,要隨時監控生成的查詢語句.
畢竟EF生成的語句,往往比生成的語句更加復雜,這個時候就要考慮是否通過其他方式來提高性能.