Jak załadować model do _Layout.cshtml i udostępnić go wśród różnych widoków?

Mam projekt MVC4, który zajmuje się „kursami”. Wiele stron w aplikacji musi obsługiwać listę kursów - profile użytkowników muszą pobierać listę, widok indeksu dla / Courses musi pobrać listę itp.

Ponieważ dane te są prawie zawsze wymagane, chciałbym załadować je jako część początkowego żądania, więc muszę tylko wysłać zapytanie do bazy danych tylko raz.

Wyobrażam sobie scenariusz, w którym dane są umieszczane w Layout.cshtml, a następnie inne widoki mogą uzyskać dostęp do danych Modelu w razie potrzeby, chociaż nie widzę jasnego sposobu na osiągnięcie tego. Myślę, że mogę podzielić ten problem na dwie części:

Pobierz dane załadowane do Layout.cshtmlUzyskaj dostęp do tych danych z innych widoków

Trochę utknąłem na obu - jak mogę to zrobić?

questionAnswers(3)

yourAnswerToTheQuestion