Criar ViewModel para Navegação

Eu tenho um aplicativo MVC 4 com várias visualizações. Ou seja Produtos, Receitas, Distribuidores e Lojas.

Cada visão é baseada em um modelo.

Vamos simplificar e dizer que todos os meus controladores passam por um modelo de visualização semelhante que se parece com a minha ação do produto:

public ActionResult Index()
{
    return View(db.Ingredients.ToList());
}

Ok, então está tudo bem, sem problemas. Mas agora que todas as minhas páginas funcionam, eu quero alterar minha navegação (que tem dropdowns para cada visualização) para carregar os itens nesse modelo.

Então eu teria uma navegação com 4 botões (produtos, receitas, distrubutores e lojas).

Quando você passa por cima de cada botão (digamos que rolamos o botão de produtos), um menu suspenso teria os Produtos listados.

Para fazer isso eu preciso criar algum tipo de ViewModel que tenha todos os 4 desses modelos combinados. Obviamente eu não posso simplesmente cortar um PartialView para cada elemento de navegação e usar

@model IEnumerable<GranSabanaUS.Models.Products>

E repita os Produtos para essa lista suspensa, porque então essa navegação só funcionaria na Visualização do Produto e em nenhum outro lugar.

(After the solution) E SIM ROWAN Você está correto no tipo de nav que estou criando, veja aqui:

questionAnswers(2)

yourAnswerToTheQuestion