MVC Razor ver el modelo de foreach anidado

Imagina un escenario común, esta es una versión más simple de lo que me encuentro. De hecho, tengo un par de capas de anidación adicional en la mía ...

Pero este es el escenario

Theme contiene Lista Categoría contiene Lista Producto contiene Lista

Mi controlador proporciona un tema completamente poblado, con todas las categorías para ese tema, los productos dentro de estas categorías y sus pedidos.

La colección de pedidos tiene una propiedad llamada Cantidad (entre muchas otras) que debe ser editable.

@model ViewModels.MyViewModels.Theme

@Html.LabelFor(Model.Theme.name)
@foreach (var category in Model.Theme)
{
   @Html.LabelFor(category.name)
   @foreach(var product in theme.Products)
   {
      @Html.LabelFor(product.name)
      @foreach(var order in product.Orders)
      {
          @Html.TextBoxFor(order.Quantity)
          @Html.TextAreaFor(order.Note)
          @Html.EditorFor(order.DateRequestedDeliveryFor)
      }
   }
}

Si uso lambda en su lugar, entonces parece que solo obtengo una referencia al objeto superior del modelo, "Tema", no aquellos dentro del bucle foreach.

Es posible lo que intento hacer allí o he sobreestimado o malinterpretado lo que es posible?

Con lo anterior obtengo un error en TextboxFor, EditorFor, etc

CS0411: Los argumentos de tipo para el método 'System.Web.Mvc.Html.InputExtensions.TextBoxFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' no pueden deducirse del uso. Intente especificar los argumentos de tipo explícitamente.

Gracias

Respuestas a la pregunta(10)

Su respuesta a la pregunta