your view:
public class FornecedorViewModel
{
public FornecedorViewModel()
{
FornecedorEmails = new List<FornecedorEmailsViewModel>();
FornecedorTelefones = new List<FornecedorTelefonesViewModel>();
FornecedorEnderecos = new List<FornecedorEnderecosViewModel>();
}
//suas outras props aqui..
public virtual IEnumerable<FornecedorEmailsViewModel> FornecedorEmails { get; set; }
public virtual IEnumerable<FornecedorTelefonesViewModel> FornecedorTelefones { get; set; }
public virtual IEnumerable<FornecedorEnderecosViewModel> FornecedorEnderecos { get; set; }
}
For the list screen, if the screen is just a list of forwards, you should type your view as follows:
@model IEnumerable<FornecedorViewModel>
For screens where you will need only 1 Vendor, but with your child attributes, type as below:
@model FornecedorViewModel
Note that the differential will be where you get the data (in the case of a repository). You should only bring the Vendor data in the list screen, while in the other you should bring the Vendor and its daughter classes results.
To access the child properties of Vendor in your view, simply call Model (with M majusculo) and from there, you will navigate to any daughter entity. Example:
@Model.FornecedorEmails
Note: this is just a vision. You can implement N in different ways.