获取User_id ==当前用户的项目

时间:2014-08-28 07:58:59

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我使用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'。只有原始类型或   在此上下文中支持枚举类型。

1 个答案:

答案 0 :(得分:2)

只需比较id而不是引用。

var userId = User.Identity.GetUserId();
var proj = from p in db.Projects
           where p.User.Id == userId
           select p;