Salve ragazzi,
nella mia applicazione asp.net MVC, ho un modello derivato dalla seguente classe
public partial class Ordine
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Ordine()
{
this.ordinidettaglio = new HashSet<OrdiniDettaglio>();
}
public int Id { get; set; }
public System.DateTime Data { get; set; }
public int LocaliID { get; set; }
public int Numero { get; set; }
public string Operatore { get; set; }
public string Annotazioni { get; set; }
public int StatoOrdineID { get; set; }
public int UtentiID { get; set; }
public virtual Locale locali { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<OrdiniDettaglio> ordinidettaglio { get; set; }
public virtual Utente utenti { get; set; }
public virtual StatoOrdini statoordini { get; set; }
}
Premetto che la proprietà ordinidettaglio deve essere per forza ICollection e non può essere List, altrimenti ho altri problemi.
Nella parte html, nella parte relativa alla ICollection ho questa situazione
...
@foreach (var item in Model.ordinidettaglio)
{
<tr>
@Html.HiddenFor(model => item.ProdottiID)
<td class="col-md-6 col-sm-6">@Html.DisplayFor(model => item.prodotto.Descrizione) </td>
<td class="col-md-1 col-sm-1">@Html.DisplayFor(model => item.prodotto.UM)</td>
<td class="col-md-1 col-sm-1">@Html.DisplayFor(model => item.QtaOrdinata)</td>
<td class="col-md-4 col-sm-4">@Html.TextAreaFor(model => item.Annotazioni, new { @class = "form-control" })</td>
</tr>
}
...
Quando faccio la post e passo il modello al controller per salvare i dati, la classe principale è valorizzata ma la ICollection è sempre null, come posso fare a risolvere il problema senza usare una proprietà di tipo List?
Grazie in anticipo