實體框架效能真的那麼差

發布 健康 2024-07-10
4個回答
  1. 匿名使用者2024-01-30

    問自己問題並回答自己很有趣!

    這玩意兒很可怕,因為它變幻莫測,需要額外的精力去關注操作的細節,優化效能直接優化SQL查詢不直觀嗎?

  2. 匿名使用者2024-01-29

    EF是大而完整的,但是我發現EF沒用,EF效能現在提公升了很多,但是這裡就是說執行SQL的效能在預熱之後,小專案**有額外的資源給你幾十秒的預熱時間,基本都是冷啟動; 大型專案對效能的要求特別高,對於大型專案,EF真的不想移動資料庫,萬一需求發生變化,可以換人。

  3. 匿名使用者2024-01-28

    實體框架是執行緒安全的。

    提高實體框架效能的注意事項如下:

    分頁時,請嘗試在資料庫中分頁。

    盡可能禁用延遲載入,並盡可能使用預載入和顯式載入的查詢。

    如果啟用了延遲載入,這將導致多個往返資料庫查詢。 這將不可避免地導致效能不佳。

    注意交易的簡潔性。

    使用事務時,盡量將查詢語句或其他要在事務外執行的語句移到事務外消聲。 否則,如果乙個事務耗時過長,很容易造成資源死鎖的問題。

    如果您不考慮刪除和修改出現的實體,請使用 notracking

    批量刪除修改,不要先查詢實體,再逐個刪除修改。 這樣會產生大量的句子和句子,效率肯定會很低。

    使用查詢的已編譯查詢,將自動快取 LINQ 查詢。 但是,使用已編譯的查詢比自動快取更有效。

    對於複雜的查詢,請隨時監控生成的查詢語句。

    畢竟,EF 生成的語句往往比生成的語句更複雜,因此有必要考慮是否以其他方式提高效能。

  4. 匿名使用者2024-01-27

    您好:EF可以支援多個資料庫,如SQL Server、MySQL、Oracle,它可以做資料庫的遷移,幾乎可以不變**,但是EDMX實際上是乙個配置檔案,也包含了目標資料庫的資訊。

    如果要通過更改配置來切換資料庫,需要執行以下幾項操作:

    1:3 應仔細閱讀資料庫的提供程式,以確認哪些功能不受支援,採用支援的最小函式集,將它們寫入開發規範,並指定不允許寫入哪些 LINQ 語句。

    2:為3種資料庫準備3套EDMX,比較簡單,也可以在DLL之外生成SSLD之類的,然後動態修改,但容易出錯,麻煩大做。 無論是 dbfirset 還是 codefirst,都可以根據目標資料庫型別輕鬆重新生成 edmx。

    3:更改連線字串,在EF的連線字串中,需要指定傳統連線字串EF的提供者對應的EDMX配置(SSLD、CSDL、MSL),並按照1和2配置這3個元素作為目標資料庫的對應配置,理論上,你的**可以直接執行。

相關回答
6個回答2024-07-10

entity ['ent ti] 讀作:Ent。

n.實體; 存在; 本質。 >>>More