MVC标识用户配置文件扩展和访问属性和方法

时间:2014-05-17 09:32:20

标签: asp.net-mvc asp.net-identity

我是asp.net的新手,并试图找出一个小问题但无法通过。

我正在尝试的是访问其他用户个人资料详细信息并在mylogin部分页面中显示第一个名称并提供异常,任何帮助都可以帮助我们真正感激。

@
{var manager = new UserManager<MyUser>(new UserStore<MyUser>(new MyDbContext ()));
**var currentUser = manager.FindById(User.Identity.GetUserId());**
var myname = currentUser.UserInfo.FirstName;
}

mscorlib.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:从物化的'System.Data.Entity.DynamicProxies.ApplicationUser_19A2C4C53E8DE616853C0AA38428987A7CBBC56E57FCCF82F04E81B42A687C20'类型到'BNTracker.Models.MyUser'类型的指定强制转换无效。

MyUser已经从IdentityUser继承,并且在模型

下可用
public class MyUser : IdentityUser
{
    public virtual UserInfo UserInfo { get; set; }

}

public class UserInfo
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmployeeCode { get; set; }
    public string Email { get; set; }

}
public class MyDbContext : IdentityDbContext<MyUser>
{
    public MyDbContext()
        : base("DefaultConnection")
    {
        //Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());
    }
    public System.Data.Entity.DbSet<UserInfo> UserInfo { get; set; }
} 

1 个答案:

答案 0 :(得分:0)

请尝试

var manager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(new MyDbContext ())
var currentUser = manager.FindById(User.Identity.GetUserId());