長時間のlurker、初回投稿、新しく学習したEF4とMVC3。EF4でのデータ読み込み方針/構文
私はこのケースで正しいデータ読み込み戦略を使用していることを確認し、クエリの詳細を確定するのに役立つ助けが必要です。私は現在、約10テーブル(すべてFKの関係を持っている)から少量のデータを必要とする「ダッシュボード」ビューのために、hereを概説した熱心な読み込み方法を使用しています。
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の全体サイズと、私はalltogether異なるデータローディングアプローチを必要とするかもしれないことを考えています。(明示的なロード?複数QueryObjectsを?POCO?)
任意の入力、方向、またはこれらの残りのニーズを解決する方法についてのアドバイスだけでなく、最高のを確実にしますパフォーマンスは非常に高く評価されています。
簡潔で注目に値する!あなたのコード例は、正確に私が達成しようとしていたものです。私はまたあなたのリンク関連の回答をupvotedだけでなく、完全に足跡とパフォーマンスに関する私の質問の残りの部分に答えた。ありがとう! –