entity framework 效能優化方案

2021-08-04 17:04:31 字數 578 閱讀 2356

1 .在dbcontext的繼承類下新增sql指令碼輸出debug,即可在控制台上看到ef生成的sql語句

#if debug

this.database.log = s => debug.print(s);

database.setinitializer(null);

#endif

2 .對於資料庫為char這種型別的,ef自動生成的查詢語句會加入』n』導致查詢速度變得緩慢,like:

select 

[extent1].[tmid] as [tmid]

where [extent1].[tmid] in (n'ly_000_bjx_4108', n'ly_001_ubk_0769', n'ly_001_ubk_0769', n'ly_001_ubz_0475', n'ly_001_uas_0589')

解決方案:

this.property(m => m.tmid).isunicode(false);
3 .延遲載入,快取等。

4 .複雜查詢,改寫成sql語句。

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