Visual Studio 2012 インターネット アプリケーション MVC4 C#
エラー
System.InvalidOperationException: ディクショナリに渡されたモデル項目の型は 'System.Data.Entity.Infrastructure.DbQuery
1, but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable1です
My View Expects:@model IEnumerable<OG.Models.UserProfiles>これはViewModel ではなくデータモデルです。*このビューはUserProfiles、コントローラーを作成したときにモデルによって生成されたものでもあります ( Standart Scaffolding with@Html.DisplayNameFor(model => model.Company)および後で@foreach (var item in Model) {to list data`
私のコントローラーの試み:
- 試行 1認識 (リストを返さない) - return View(db.UserProfiles .Include(c => c.Roles) .Where(c => c.Roles.Any(up => up.RoleName != "Administrator")) .Select(c => new { UserID = c.UserID, UserName = c.UserName, UserCount = c.Roles.Count() }));
- 試行 2認識 (リストを返さない) - var model = from usr in db.UserProfiles join rls in db.UserRoles on usr.Roles equals rls.RoleId select new { UserID = usr.UserID, UserName = usr.UserName };
- 試行 3認識 (リストを返さない) - var model = from usr in db.UserProfiles.Include(t => t.Roles) where usr.Roles.Any(up => up.RoleName != "Administrator") select new WebAdminUsersLookup { UserID = usr.UserID, UserName = usr.UserName };
- 試行 4これは「実際の」リストではないと思いますが、それでもエラーが発生します - var listOfIdeas = (from x in db.UserProfiles.Include(t => t.Roles) .Where(u => u.Roles.Any(up => up.RoleName != "Administrator")) select new { UserID = x.UserID, UserName = x.UserName }).ToList();
- 試行 1 ~ 3 の場合 - List<UserProfiles> modelList = new List<UserProfiles>(); modelList.Add(model.ToList());
そのようなものとそれらのためのビューモデルを作成しました
    private class WebAdminUsersLookup
    {
        //public List<UserProfiles> Users { get; set; }
        public int UserID { get; set; }
        public string UserName { get; set;}
    }
検索したウェブサイト: