MVC: Le modèle de l'élément passé dans le dictionnaire est de type X, mais ce dictionnaire nécessite un élément de modèle de type X

Je suis à l'aide de modèle EF de la première et de l'aide viewmodel dans MVC, j'ai des problèmes avec cette erreur:

The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[NKI3.Models.Question]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[NKI3.ViewModels.IndexCreateViewModel]'.

C'est mon viewmodel:

public class IndexCreateViewModel
{
    public string QuestionText { get; set; }
    public string Sname { get; set; }
    public string Cname {get;set;}
}

C'est mon Action dans mon controller:

public ActionResult Index()
{
    var Q = db.Question.Include(a => a.SubjectType).Include(a => a.CoreValue);
    return View(Q.ToList());   
}

Voici ma fortement typé vue:

@model IEnumerable<NKI3.ViewModels.IndexCreateViewModel>

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            QuestionText
        </th>
        <th>
            Sname
        </th>
        <th>
            Cname
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.QuestionText)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Sname)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Cname)
        </td>

    </tr>
}

</table>

Je ne semble pas trouver la solution pour ce faire, dois-je retourner mon viewmodel à l'intérieur du contrôleur de l'action de l'index? Toute aide est appréciée.

Merci d'avance!

En Ce Qui Concerne Meilleur!

Il ressemble db.Question renvoie NKI3.Modèles.Question plutôt que de le ViewModel vous montrer ci-dessus.

OriginalL'auteur Obsivus | 2012-02-22