我已經創建了自定義的用戶類,它繼承了IdentityUser<int>.
[Table("Users", Schema = "UserData")]
public class User : IdentityUser<int>
{
/// <摘要>
/// 為了建立一對一的關系的屬性 UserDetails -> User
/// </summary>
[必須的]。
public UserDetails UserDetails { get; set; }
}
public class BlogDbContext : IdentityDbContext<User, IdentityRole<int>, int>
{
public BlogDbContext(DbContextOptions<BlogDbContext> options)
: base(options) {}
protected override void OnModelCreating(ModelBuilder builder)
{
builder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly())。
//UserDataConfig
builder.ApplyConfiguration(new UserConfiguration())。
builder.ApplyConfiguration(new UserDetailsConfiguration())。
//UserData
builder.Entity<Location>()
.HasOne<UserDetails>(s => s.UserDetails)
.WithOne(g => g.Location)
.HasForeignKey<UserDetails>(ad => ad.LocationId)。
builder.Entity<User>()
.HasOne<UserDetails>(s =>s.UserDetails)
.WithOne(g => g.User)
.HasForeignKey<UserDetails>(ad =>ad.UserId)。
base.OnModelCreating(builder)。
}
//UserData
public DbSet<User> Users { get; set; }
public DbSet<UserDetails> UserDetails { get; set; }
}
}
現在,我試圖創建以下欄位
private UserManager<User, int> _userManager;
而我的錯誤是:
型別'ApplicationCore.DataModel.UserData.User'不能作為 型別引數'TUser'在通用型別或方法中 'UserManager<TUser, TKey>
。
我怎樣才能解決這個問題?謝謝你的關注。
uj5u.com熱心網友回復:
將User替換為IdentityUser,將Role替換為IdentityRole,這樣就可以正常作業了。
public class DataContext : IdentityDbContext<IdentityUser,IdentityRole, string, IdentityUserClaim<string>, IdentityUserRole<string> 。
IdentityUserLogin<string>, IdentityRoleClaim<string>, IdentityUserToken<string> >
或者使用:-
public class ApplicationUser : IdentityUser<int>
{
}
public class ApplicationRole : IdentityRole<int>
{
}
public class BlogDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, int>
{
}
它將解決你的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328660.html
標籤:

