在我的网站中,用户可以将foreignExpressions添加到他的帐户中。用户模型如下所示:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public List<ForeignExpression> learnedexpressions { get; set; }
}
然后在控制器中我想得到当前用户存储的表达式,如下所示:
db.ForeignExpressions.Select(f => f.UserId == Membership.GetUser().ProviderUserKey);
但是,ForeignExpression不包含UserId字段,因此f没有可见的UserId。但是UserProfile有一组ForeignExpressions,所以我在ForeignExpression表中有一个UserId字段。我很困惑,我怎么能为我的用户获得ForeignExpressions?
编辑:
public class ForeignExpression
{
public int ID { get; set; }
public string expression { get; set; }
public string context { get; set; }
public string meaning { get; set; }
public DateTime dateAdded { get; set; }
}
答案 0 :(得分:1)
int userID = Membership.GetUser().ProviderUserKey;
db.UserProfiles.Find(q => q.UserID == userID).LearnedExpressions.ToList();