Comment faire des listes dans un modèle de vue? + notifications de données

Je suis en utilisant asp.net mvc 3, annotations de données et auto mappeur.

Je veux avoir tous mes annotations sur les propriétés de mon point de vue modèle, une fois les propriétés de validation-je utiliser auto mappeur de carte dans mon domaine d'objet.

J'ai un viewmodel qui a des propriétés que je veux avoir une collection de depuis je veux générer une table à partir d'eux. Je tiens également à les utiliser plus tard pour l'utiliser comme un formulaire pour ajouter des lignes dans cette table.

Alors, que dois-je faire? Comment dois-je prendre ces propriétés et de faire une collection?

public class UserViewModel()
{
    [Required()]
    public string UserName = {get; set;}
    [Required()]
    public string FirstName = {get; set;}
    [Required()]
    public string LastName = {get; set;}
}

Je veux utiliser ces propriétés pour générer ma table et être utilisé pour un.

La seule chose que je peux penser à est de faire ce

   public class AddUserViewModel()
    {
        [Required()]
        public string UserName = {get; set;}
        [Required()]
        public string FirstName = {get; set;}
        [Required()]
        public string LastName = {get; set;}
    }

   public class UserViewModel()
   {
       public List<User> Users {get; set;}
       public AddUserViewModel {get; set;}

       public UserViewModel()
       {
           Users = new List<Users>();
       }
   }

Donc en gros, j'ai comme modèle de vue qui est incluse dans une autre viewmodel qui contient une liste d'Utilisateurs(mon modèle de domaine)

Que la façon dont j'utilise mon modèle de domaine pour générer la table et mon AddUserViewModel pour mon ajout des utilisateurs.

Semble un peu redondant, donc je ne suis pas sûr si il ya une meilleure façon.

Modifier

J'ai quelque chose comme ce

 var viewModel = new UserViewModel();
 List<Users> users=  UserService.GetAllUsers();
 viewModel = Mapper.Map<Users, UserViewModel>(users);
 return View("Index", viewModel);

J'ai aussi essayé

var viewModel = new UserViewModel();
 List<Users> users=  UserService.GetAllUsers();
 viewModel.AddUserViewModel = Mapper.Map<Users, AddUserViewModel>(users);
 return View("Index", viewModel);

Edit 2

J'ai fait, et cela compile mais j'ai cette erreur

        SomeViewModel viewModel = new SomeViewModel ();       
        List<User> users=  userService.GetAllUsers();
        viewModel.UserViewModel = Mapper.Map<List<User>, List<UserViewModel>>(users);
        return View("Index", viewModel);


Trying to map Domain.User to ViewModels.UserViewModel.
Missing type map configuration or unsupported mapping.
Exception of type 'AutoMapper.AutoMapperMappingException' was thrown.

source d'informationauteur chobo2