Dot-Net
最新的 Dapper VS Entity Framework 6 性能注意事項
Dapper(它似乎是最快、最流行的“微型 ORM 工具”)之間有一些性能比較。現在是 2014 年 9 月,我們有 Entity Framework 6(不是 5 或 4),而且 Dapper 仍然存在。
我們將開始開發一個龐大的數據庫 n 層應用程序(數據庫有 700 個表)。並且一些需要執行的查詢對時間非常敏感。
- 有人對 EF 6.1.x 的性能有任何更新嗎?這涉及在 DbContext 中進行的一般查詢。
- 我想我不能在 Dapper 中使用格式良好的 LINQ 查詢。你有這方面的經驗嗎?為了提高速度,是否值得失去 LINQ?
- Dapper 是否仍在積極、持續的開發中?GitHub 告訴我是的,但與 Subsonic 一樣,這種情況可以很快改變。
- 混合 Dapper 和 EF 是否可行/可行?Dapper 當我們需要速度時,否則 EF。
謝謝!
- 有人對 EF 6.1.x 的性能有任何更新嗎?這涉及在 DbContext 中進行的一般查詢?
Ans : 我沒有具體的數字,但我已將性能裝備更新為 EF6;我不記得確切的結果,但是:EF6 比 EF-old 快很多,但在許多情況下,dapper 仍然明顯更快(邊緣情況也差不多)
- 我想我不能在 Dapper 中使用格式良好的 LINQ 查詢。你有這方面的經驗嗎?為了提高速度,是否值得失去 LINQ?
答:這是主觀的;對我們來說:是的,絕對值得——但我們非常關心速度。解析表達式樹會產生影響,生成的 SQL 很少與體面的開發人員手工製作的 SQL 處於同一水平
- Dapper 是否仍在積極、持續的開發中?GitHub 告訴我是的,但與 Subsonic 一樣,這會很快改變嗎?
答:絕對;我想我這個月已經部署了大約 4 個版本……
- 混合 Dapper 和 EF 是否可行/可行?當我們需要速度時 Dapper,否則 EF?
Ans : 是的,你可以這樣做;這就是我們從 dapper 開始的方式——我們用它來替換導致性能問題的LINQ to SQL程式碼;隨著時間的推移,它已經增長,現在我們只剩下很少的LINQ to SQL程式碼(但仍然有一些)