Jak filtrować wynik w MVC 4 na podstawie użytkownika

Mam uwierzytelnienie niestandardowe, gdy użytkownik się loguje, zachowuję niezbędne informacje o sesji / pamięci podręcznej ...

Mam więc kilka widoków z DropDowns, które muszą pokazywać dane filtrowane według identyfikatora użytkownika ... Chciałbym wiedzieć, jaki jest najlepszy sposób filtrowania tego wyniku ...

1 - Bezpośrednio na kontrolerze?

...   
Model.MyList = repository.GetAll().Where(x => x.User.Id == userId);
return View(Model);

2 - Tworzenie filtra akcji (Jak mogę to zrobić bez zapytania o zbędne dane z DB)

3 - W inny sposób?

Problem z 1 polega na tym, że mam kilka widoków, które mają tę samą listę rozwijaną, więc będę musiał powtórzyć ten sam kod.

questionAnswers(7)

yourAnswerToTheQuestion