0

У меня есть приложение api 2 для веб-приложений, в котором я использовал asp.net identity 2.0 и Entity framework. В моей базе данных MySQL добавить эту таблицу ajt_collaboratorЭкземпляр пользователя asp.net identity 2.0

CREATE TABLE `ajt_collaborator` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `marital_status` enum('M','MLLE','MME') DEFAULT NULL, 
    `address` text, 
    `Nom` text, 
    `Prenom` text, 
    `id_user_fk` varchar(128) NOT NULL, 
    `deletion_date` datetime DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `collaborator_user_fk` (`id_user_fk`), 
    CONSTRAINT `collaborator_user_fk` FOREIGN KEY (`id_user_fk`) REFERENCES `aspnetusers` (`Id`) 
) 

, который относится к aspnetusers

CREATE TABLE `aspnetusers` (
    `Id` varchar(128) NOT NULL, 
    `Hometown` text, 
    `Email` varchar(256) DEFAULT NULL, 
    `EmailConfirmed` tinyint(4) NOT NULL, 
    `PasswordHash` text, 
    `SecurityStamp` text, 
    `PhoneNumber` text, 
    `PhoneNumberConfirmed` tinyint(4) NOT NULL, 
    `TwoFactorEnabled` tinyint(4) NOT NULL, 
    `LockoutEndDateUtc` datetime DEFAULT NULL, 
    `LockoutEnabled` tinyint(4) NOT NULL, 
    `AccessFailedCount` int(11) NOT NULL, 
    `UserName` varchar(256) NOT NULL, 
    PRIMARY KEY (`Id`) 
) 

Мне нужно объединить эти таблицы во второй таблице и сделать дополнительные свойства aspnetusers признаваемые в заявление.

  1. Возможно ли это?
  2. Какие шаги для достижения этой цели?

ответ

1

Если вы хотите объединить ajt_collaborator в AspNetUsers.

Вы можете добавить дополнительные свойства в поля зеркалирования сущности класса ApplicationUser из таблицы ajt_collaborator.

public class ApplicationUser : IdentityUser 
{ 
    //... 

    public string Address { get; set; } 
} 

Вы увидите, что столбцы таблицы AspNetUser определены в родовом IdentityUser как свойства.

Это добавит новые поля в таблицу AspNetUsers, когда схема будет воссоздана. Или вы можете использовать миграции без необходимости воссоздавать схему. https://msdn.microsoft.com/en-us/data/jj591621.aspx

Если вы хотите объединить AspNetUsers в ajt_collaborator.

Затем вы можете сопоставить ApplicationUser с таблицей ajt_collaborator.

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    //... 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 

     modelBuilder.Entity<ApplicationUser>().ToTable("ajt_collaborator"); 
    } 
} 

Еще раз, добавляя необходимые свойства класса ApplicationUser объекта к зеркалу столбцов в таблице ajt_collaborator.

Смежные вопросы