0
我是一個asp.net的新手,並試圖找出一個小問題,無法通過。MVC身份用戶配置文件擴展和訪問屬性和方法
我想要的是訪問額外的用戶配置文件的詳細信息,並顯示在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繼承和其下的型號
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; }
}
請通過http://stackoverflow.com/questions/7392022/razor-proxy-type -error-system-data-entity-dynamicproxies可能是由於你創建新的對象爲新的UserStore(新的MyDbContext()) –
Janty
非常感謝,刪除了mydbcontext和我的用戶,並使用ApplicationUser和IdentityDBContext,它的工作。 – user3647220
public class ApplicationUser:IdentityUser { public virtual UserInfo UserInfo {get;組; }} 公共類ApplicationDbContext:IdentityDbContext { 公共ApplicationDbContext() :基部( 「DefaultConnection」) { Database.SetInitializer(新DropCreateDatabaseIfModelChanges ()); } public System.Data.Entity.DbSet UserInfoes {get;組; } } –
user3647220