我使用MVC 5剃须刀而且我是新手。
我想只显示用户创建的项目。 在我的表项目中,用户有一个FK作为User_id。
我使用了从MVC中的新项目开始时自动呈现的ApplicationUser
模型。
在我的项目控制器中:
private UserManager<ApplicationUser> manager;
public ProjectController()
{
manager = new UserManager<ApplicationUser>(
new UserStore<ApplicationUser>(db));
}
// GET: /Project/
[Authorize]
public ActionResult Index()
{
var currentUser = manager.FindById(User.Identity.GetUserId());
var proj = from p in db.Projects
where p.User == currentUser
select p;
return View(db.Projects.ToList(proj));
}
错误。
无法创建类型的常量值 'herexamen800.Models.ApplicationUser'。只有原始类型或 在此上下文中支持枚举类型。
答案 0 :(得分:2)
只需比较id而不是引用。
var userId = User.Identity.GetUserId();
var proj = from p in db.Projects
where p.User.Id == userId
select p;