列表未转换为 IEnumerable

List not converting to IEnumerable

以下是我得到的错误:

The model item passed into the dictionary is of type 'System.Collections.Generic.List[StoredProcedureEF_MVC.tbl_users]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable[StoredProcedureEF_MVC.Models.User]'.

我已经尝试了很多但不知道我哪里做错了,最近两天没有运气。我正在学习 MVC,如果您犯了一些愚蠢的错误,我们深表歉意。

我的模型:

namespace StoredProcedureEF_MVC.Models
{
    [Table("tbl_users")]
    public class User
    {
        [Key]
        public int UserId { get; set; }
        [Required]
        public string Username {get;set;}
        [Required]
        public string Email { get; set; }
    }
}

查看:

@model IEnumerable<StoredProcedureEF_MVC.Models.User> 
@{
    ViewBag.Title = "Delete";
}

@{
    var grid = new WebGrid(source: Model);
}

@grid.GetHtml(
  columns: grid.Columns(
    grid.Column("UserID"),
    grid.Column("Username"),
    grid.Column("Email"),
    grid.Column(
      format: (item) => Html.ActionLink("Delete", "DeleteUser", new {id=item.UserID })
    )
  )
)

控制器操作:

[HttpGet]
public ActionResult Delete()
{
  SPEFMVCEntities conn = new SPEFMVCEntities();
  var result = (from p in conn.tbl_users select p).ToList();
  return View(result);
}

尝试将您的控制器方法更改为:

[HttpGet]
public ActionResult Delete()
{
  SPEFMVCEntities conn = new SPEFMVCEntities();
  var result = (from p in conn.tbl_users select p as StoredProcedureEF_MVC.Models.User).ToList();
  return View(result);
}

尝试

var result = conn.tbl_users.Select(c => new StoredProcedureEF_MVC.Models.User
{
    UserId  = c.UserId,
    UserName = c.UserName, 
    Email = c.Email
}).ToList();
return View(result);