Existe la posibilidad de actualizar un modelo complejo (Transacción). El modelo complejo tiene propiedades que pueden tener múltiples archivos adjuntos (archivos), , de modo que el usuario puede cargar varios archivos simultáneamente en este formulario, y estoy tratando de guardar estos archivos en la base de datos.MVC3, carga de varios archivos, vinculación del modelo
He publicado con éxito varios archivos en el servidor, siguiendo la publicación del blog http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx.
Sin embargo, para guardar estos archivos, de modo que pueda hacer un seguimiento de qué archivos pertenecen a qué objeto del modelo complejo (Transacción) y mostrarlos luego en los lugares apropiados, necesito asociar algún archivo cargado a el objeto al que pertenece, pero dado que todos los archivos están bajo el nombre 'archivos', no sé cómo puedo hacer que esto funcione.
Aquí se simplifica modelo complejo:
public class Transaction
{
[Key]
public int Id { get; set; }
public virtual PurchaseRequisition PurchaseRequisition { get; set; }
public virtual Evaluation Evaluation { get; set; }
}
Propiedades de modelo complejo:
public class PurchaseRequisition
{
[Key, ForeignKey("Transaction")]
public int TransactionId { get; set; }
public virtual Transaction Transaction { get; set; }
[Display(Name = "Specifications/Requisitioner's Notes")]
public virtual ICollection<Attachment> SpecsRequisitionerNotesFiles { get; set; }
}
public class Evaluation
{
[Key, ForeignKey("Transaction")]
public int TransactionId { get; set; }
public virtual Transaction Transaction { get; set; }
public virtual ICollection<Attachment> BidResultsFiles { get; set; }
}
public abstract class Attachment
{
[Key]
public int Id { get; set; }
public string FileName { get; set; }
public string FileExtension { get; set; }
public byte[] Data { get; set; }
public Boolean Deleted { get; set; }
}
Aquí es el controlador:
[HttpPost]
public ActionResult Create(TransactionViewModel model, IEnumerable<HttpPostedFileBase> files)
{ //save to database }
Eso funcionó a la perfección. ¡¡Gracias!! – ljustin