Selamlar,

ViewModel kavramı sayfa parametrelerinin tek bir class da toplanmasıdır.

class ProductIndexViewModel
{
public Product Product {get; set;}
public List<Product> Products {get; set;}
public List<Category> Category {get; set;}
}

class ActionResult Product
{
return View(new ProductIndexViewModel
   {
    Product = db.Product.FirsOrDefault(),
    Products = db.Product.ToList(),
    Categories = db.Categoriy.ToList()
    });
}
Bu şekilde index de @model den, @model.Product, @model.Products veya @model.Categories şeklinde ulabilirsin.

Kafadan yazdım, yanlışlar olabilir.