2011-06-26 72 views
5

Entity Framework很好,但有些查詢是次優的。是否可以手動或MS SQL Server 2008 R2視圖寫入一些SQL查詢,執行此選擇,然後將某些實體與它們關聯起來?我檢查了一些生成的SQL,它們相當醜陋...優化實體框架

問題2:MS SQL Server 2008 R2是否緩存查詢?我想要有強大的緩存,我該如何調整它? (使用MySQL它非常簡單)。

+0

您可以從視圖中進行選擇,或者如果您需要更多控制,可以將SQL語句放入存儲過程並使用Entity Framework中的語句(對INSERT,UPDATE和DELETE操作特別有用)。是的 - SQL Server做了很多緩存,並且花費了大量精力將最常用的頁面保存在內存中 –

回答

5

您有很多選擇可供您使用。您可以使用EF 4.1中的.ExecuteStoreCommand()對數據庫執行SQL,或者也可以將存儲過程映射到EF中。此外,如果必要,您可以將視圖映射爲EF中的實體。

SQL Server具有非常複雜的數據頁面緩存機制以及執行計劃,而且它對開發人員來說非常自動化。我會建議發佈一個具體的例子與你想優化的操作的問題。