我是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; }
}
答案 0 :(得分:0)
请尝试
var manager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(new MyDbContext ())
var currentUser = manager.FindById(User.Identity.GetUserId());