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



我是一个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;
}

类型为'System '的异常。InvalidOperationException'在mscorlib.dll中发生,但未在用户代码中处理

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

MyUser已经从IdentityUser继承,它在models

下可用
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; }
} 

请尝试

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

相关内容

  • 没有找到相关文章

最新更新