2013-03-08 60 views
0
public ActionResult Index() 
{ 
     var user = db.UserProfiles.FirstOrDefault(x => x.UserId == WebSecurity.CurrentUserId); 
     var allCategories = db.ProfitCategories 
      .Where(x => x.IdUser.UserId==user) 

我希望我的索引视图仅显示从当前用户写入的记录。我从这里根据当前用户标识接收实体

var user = db.UserProfiles.FirstOrDefault(x => x.UserId == WebSecurity.CurrentUserId); 

获得当前帐户及x.IdUser.UserId是一个外键从db.ProfitCategoriesdb.UserProfiles。编译时出现以下错误:无法应用运算符==类型intModels.UserProfiles

回答

3

也许你应该尝试:

public ActionResult Index() 
{ 
     var user = db.UserProfiles.FirstOrDefault(x => x.UserId == WebSecurity.CurrentUserId); 
     var allCategories = db.ProfitCategories 
      .Where(x => x.IdUser.UserId==user.UserId) 

你需要检查用户ID对用户ID,而不是类。

编辑

我想你没有获得用户都:

public ActionResult Index() 
{ 
    var allCategories = db.ProfitCategories 
     .Where(x => x.IdUser.UserId==WebSecurity.CurrentUserId) 

既然你已经保存在WebSecurity.CurrentUserId你不需要接收的用户ID来自数据库的用户(至少不用于获取其Id)。当然,如果您需要其他操作(我无法知道,因为您提供了一段代码),请随时接收用户:)

+0

+1如果我可以。谢谢 – Krasimir 2013-03-08 08:40:13

+0

您可以和您可以接受的答案;) – 2013-03-08 08:41:31

+0

是的,你是对的在你的编辑我接受的答案,但没有+1的声望。很抱歉,需要1更多的声誉我会回到这个职位,当我有:) – Krasimir 2013-03-08 08:46:31

相关问题