0

私は table を持っていますUserProfile。ここには、email、typeAccount、isActivated などのいくつかの追加フィールドがあります。
を取得するとMembership.GetUser().(..)、これらのフィールドがありません。
それを解決する方法は?そして、このフィールドの値を変更する方法は?

[Table("UserProfile")]
public class UserProfile
{

    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string Email { get; set; }
    public int typeAccount { get; set; }
    public bool activated { get; set; }
    public string activationcode { get; set; }
    public bool del { get; set; }
}

よろしく

4

1 に答える 1

3

メンバーシップ プロバイダーはプロファイルを処理していません。現在認証されているユーザーの UserProfile レコードを取得する場合は、次のコンテキストを使用するだけです。

[Authorize]
public ActionResult SomeAction()
{
    using (UsersContext db = new UsersContext())
    {
        UserProfile user = db
            .UserProfiles
            .FirstOrDefault(u => u.UserName == User.Identity.Name);

        // do something with the profile
    }

    ...
}
于 2013-03-11T12:33:04.103 に答える