我有一个web api 2应用程序,其中我使用了asp.net identity 2.0和Entity框架。在我的MySql数据库中,我添加了这个表 ajt_collaborator
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
的其他属性。
答案 0 :(得分:1)
如果您想将ajt_collaborator合并到AspNetUsers。
您可以从ajt_collaborator表中向ApplicationUser实体类镜像字段添加其他属性。
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表中的列。