estoy aprendiendo ASP.NET MVC 3 y tratando de crear una vista con un único formulario que se compone de varios modelos vinculados entre sí por una clave externa. El objetivo final es que el formulario único se inserte en todas las tablas de la base de datos.ASP.NET MVC 3 a múltiples modelos solo Formulario
El problema es que no puedo entender por qué cuando haga clic derecho para crear la opinión de que el formulario no se genera automáticamente en el archivo cshtml. El código generado automáticamente me ayuda mucho ya que tengo muchas tablas que se vinculan entre sí, y muchos campos que debo validar e insertar. Si no es posible generar automáticamente el formulario, ¿cuál es la forma más eficiente/elegante de hacerlo?
Aquí es una simplificación de lo que tengo.
Modelo:
class Customer
{
[Key]
public UInt64 CustomerId { get; set; }
[Required(ErrorMessage = "Name is required.")]
[Display(Name = "Customer Name")]
[MaxLength(50)]
public string FullName { get; set; }
}
class CustomerAdditionalDetails1
{
[ForeignKey("Customer")]
public UInt64 CustomerId { get; set; }
[Required(ErrorMessage = "This info is required.")]
[Display(Name = "Customer Information")]
[MaxLength(50)]
public string SomeInfo { get; set; }
}
class CustomerAdditionalDetails2
{ // same foreign key as CustomerAddtionalDetails1, but with different properties
}
class CustomerAdditionalDetails3
{ // same foreign key as CustomerAddtionalDetails1, but with different properties
}
...
public class CustomerModel
{
public Customer Customer { get; set; }
public CustomerAdditionalDetails1 CustomerAdditionalDetails1 { get; set; }
public CustomerAdditionalDetails2 CustomerAdditionalDetails2 { get; set; }
public CustomerAdditionalDetails3 CustomerAdditionalDetails3 { get; set; }
...
}
controlador:
public ActionResult Submit()
{
return View();
}
[HttpPost]
public ActionResult Submit(CustomerModel customer)
{
return View();
}
Por favor, ayuda!