1、物件管理機制-複雜
為更好的管理模型物件,ef提供了一套內部管理機制和跟蹤物件的狀態,儲存物件一致性,使用方便,但是效能有所降低。
2、執行機制-高度封裝
在ef中,所有的查詢表示式都會經過語法分析、解析sql語句、然後呼叫底層的ado.net物件去執行,中間的這些環節導致效能有所降低。
3、sql語句-低效
ef採用對映機制將物件操作轉換成sql語句,sql語句一般的基於標準模組生成的,不會進行特殊優化,和直接編寫sql語句運算元據庫相比,效率會打折扣,複雜操作更為明顯。
狀態管理機制優化
asnotracing()方法
1、新增asnotracing()方法後,物件將不被狀態管理,查詢效能提高
2、返回的實體將不再dbcontext中快取
3、適合場景:純粹查詢
禁用自動跟蹤變化
分析1、關閉前,當執行add()操作時將會耗費大量的效能,會導致dbcontext遍歷所有快取的entry,比較原始值和當前值,而這個操作會非常耗費效能
2、關閉後,使用add()方法告知dbcontext中物件的變化即可,如果是刪除使用remove()方法,如果是修改則還需要通過state屬性顯示告知變化
3、適合場景:大批量運算元據(新增、刪除、修改)
Entity Framework 架構簡介
當微軟的wcf 大行其道,通用資料訪問模型entity framework卻稍遜一籌,有很多需要完善和進步的地方,本文對entity framework 架構做一下簡介。實體框架 entitry framework 以下簡稱ef 看起來像乙個有趣的技術,更強大,比linq to sql 更先進。這兩...
entity framework 批量刪除
以前用sql寫批量刪除的時候,感覺挺利索的,簡潔地寫了 public bool delectusersuggest string addsql 然後在頁面層直接呼叫 現在用entity framework,感覺有點麻煩不能直接delete,還要先把資料查出來,以下是主要 1 先查出實體 region...
Entity Framework 動態查詢
不想多說什麼直接說 region 搜尋並分頁 ljy 傳入搜尋條件,當前頁碼,每頁的顯示的條數,資料的總數 輸出引數 三個引數,返回 商實體 搜尋條件 當前頁碼 每頁的顯示的條數 資料的總數 public iqueryable endregion 在頁面呼叫時如果通過時間來查詢,請記住一定要這樣寫 ...