長時間潛伏,首次發佈,並重新學習EF4和MVC3。EF4中的數據加載策略/語法
我需要幫助,確保我在這種情況下使用正確的數據加載策略,以及一些幫助完成查詢的一些細節。我目前使用的概要加載方法概述here對於某些「儀表板」視圖需要來自大約10個表(全部具有FK關係)的少量數據。
var query = from l in db.Leagues
.Include("Sport")
.Include("LeagueContacts")
.Include("LeagueContacts.User")
.Include("LeagueContacts.User.UserContactDatas")
.Include("LeagueEvents")
.Include("LeagueEvents.Event")
.Include("Seasons")
.Include("Seasons.Divisions")
.Include("Seasons.Divisions.Teams")
.Where(l => l.URLPart.Equals(leagueName))
select (l);
model = (Models.League) query.First();
但是,我需要做一些額外的過濾,排序和整形我還沒有能夠解決的數據。以下是這點我需要的首席/顧慮:
幾個子對象仍需要額外的過濾,但我一直沒能找出語法或最好的辦法呢。例如:「TOP 3 LeagueEvents.Event WHERE StartDate> = getdate()ORDER BY LeagueEvents.Event.StartDate」
我需要排序一些字段。示例:ORDERBY Seasons.StartDate,LeagueEvents.Event.StartDate和LeagueContacts.User.SortOrder等。
我已經非常關注此查詢生成的SQL的總體大小以及連接數和我想,我可能需要不同的數據加載方法產品總數。(顯式加載?多QueryObjects?POCO?)
任何輸入,方向,或者對如何解決這些剩餘的需求,建議以及確保最佳性能非常感謝。
簡明而現貨!你的代碼示例正是我試圖完成的。我也提出了你的鏈接相關答案,以及它完全回答了我的問題關於足跡和性能的其餘部分。謝謝! –