Entity Framework(EF)資料查詢

2021-09-23 09:22:56 字數 722 閱讀 5464

ef,有乙個容器管理著裡面所有附著在其上的物件。它們通過一種叫object tracking的機制來跟蹤物件的變化,以便於在使用者需要的時候把這些變化持久化到資料庫中去。有時候,我們可能並不需要改動資料(比如我們只是簡單地取出乙個entity然後把它繫結到ui上面去),那麼在這個時候,tracking機制就比較多餘了。在ef中,我們可以以mergeoption.notracking=false來取得同樣的效果。

最後乙個是compiledquery會在第一次執行時進行編譯,所以在第一次執行時,它比正常的linq語句還要慢。compiledquery的一般用法是宣告乙個static的變數來儲存它。

還有就是第一次建立objectcontext並查詢資料時耗費了大量的時間。下面這個餅狀圖給出了第一次建立objectcontext並用其訪問資料庫時各種操作所佔的時間比

從中可以看出僅僅view generation乙個操作就占用了56%的時間,不過令人欣慰的是,這個操作只出現在第一次查詢的時候,之後生成好的view會被快取起來供以後使用。

我們可以使用edmgen2.exe來自己生成view.cs,然後把它加入到工程中編譯,這樣會大大縮減view generation操作所佔的時間比。根據ado.net team 的測試,自己編譯view大概會節省28%的時間。不過我在自己電腦上測試的結果沒有那麼理想,大概是8%左右。

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 在頁面呼叫時如果通過時間來查詢,請記住一定要這樣寫 ...