获取表中的外键

时间:2013-10-06 19:32:29

标签: c# asp.net-mvc entity-framework

在我的网站中,用户可以将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; }


}

1 个答案:

答案 0 :(得分:1)

int userID = Membership.GetUser().ProviderUserKey;

db.UserProfiles.Find(q => q.UserID == userID).LearnedExpressions.ToList();