的,我有以下問題,在果園的投影模塊:
我有一個主要類別的網頁上,當打開查詢數據庫(不是烏節之一,從一個單獨的應用程序來)是它的子類別和這些子類別中的項目。如何防止果園預測從發射數百查詢
我有一個投影顯示小部件中的主要類別標題,以方便導航。然而,頁面加載時間卻一路飆升,因爲即使在投影中,它也會嘗試加載每個主類別作爲一個整體,導致對我們的第二個數據庫進行指數級查詢,加載時間超過30秒。
投影模塊是否可能只查詢標題部分(也可能是任何自定義綁定)並忽略執行這些查詢的部分?
在此先感謝。
編輯
我們使用的迷你探查,這是結果:
看來這個問題是Orchard.Projections.Drivers.ProjectionPartDriver的顯示方法,第111行:
我該怎麼辦呢?
問題是,第二個數據庫的代碼不是像Orchard自己使用的NHibernate,而是使用Entity Framework。被加載的部分在Entity Framework中執行(通過管理器)大量查詢。我現在正在試圖構建緩存。 是否有可能使用過濾器來防止加載除標題部分以外的任何內容? 你會問我在這個問題btw報告? – Ytrog 2013-05-13 08:35:56
只加載其屬性被訪問的部件。大多數情況下,這意味着只有顯示內容的部分纔會被加載:使用Placement.info隱藏除Parts_Title之外的所有內容應該可以解決問題。我想過爲投影儀查詢創建一個急切加載部分記錄的問題。 – Piedone 2013-05-13 12:38:49
即使他們不是可見的,你是否應該用placement.info來隱藏它們? – Ytrog 2013-06-07 12:18:20