Я хочу использовать ASP.Net-Identity для управления пользователями.Для этого я хочу расширить класс IdentityUser
несколькими атрибутами.
public class AppUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<AppUser> manager)
{
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
return userIdentity;
}
public int Settings_ID { get; set; }
public string Position { get; set; }
public string CompanyName { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
[...]
Теперь в моем data context
я хочу создать только одну таблицу для этой модели пользователя:
public class AntContext : IdentityDbContext<AppUser>
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<AntContext>(null);
modelBuilder.Entity<AppUser>().ToTable("AppUsers");
base.OnModelCreating(modelBuilder);
}
public override IDbSet<AppUser> Users { get; set; }
[...]
Однако при попытке update-database
я получаю сообщение об ошибке:
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_dbo.AppUsers_dbo.AspNetUsers_Id". The conflict occurred in database "C:\USERS\NEUMA\SOURCE\REPOS\MYANTON\MYANTON\APP_DATA\ASPNETDB.MDF", table "dbo.AspNetUsers", column 'Id'.
Я понимаю, что AspNetUsers
- это таблица из IdentityUser
, но каксоздать только одну таблицу, чтобы не было конфликтов?
Как правильно расширить класс IdentityUser
и использовать его в контексте данных?