Я сделал нечто подобное:
public class User
{
[Key]
public Guid UserId { get; set; }
public string UserName { get; set; }
}
public class UserDetail
{
[Key]
public Guid UserId { get; set; }
public string FullName { get; set; }
public string CompanyName { get; set; }
}
public class UserMembership
{
[Key]
public Guid UserId { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsApproved { get; set; }
public bool IsLockedOut { get; set; }
}
И вот конфигурации для этих таблиц:
public class UserConfig : EntityConfiguration<User>
{
public UserConfig()
{
this.MapSingleType(user => new
{
UserId = user.UserId,
UserName = user.UserName
}).ToTable(new StoreTableName("aspnet_Users", "dbo"));
}
}
public class UserDetailConfig : EntityConfiguration<UserDetail>
{
public UserDetailConfig()
{
this.HasKey(u => u.UserId);
this.MapSingleType(ud => new
{
UserId = ud.UserId,
FullName = ud.FullName,
CompanyName = ud.CompanyName
}).ToTable(new StoreTableName("UserDetail", "dbo"));
}
}
public class UserMembershipConfig : EntityConfiguration<UserMembership>
{
public UserMembershipConfig()
{
this.HasKey(m => m.UserId);
this.MapSingleType(membership => new
{
UserId = membership.UserId,
Password = membership.Password,
Email = membership.Email,
IsApproved = membership.IsApproved,
IsLockedOut = membership.IsLockedOut
}).ToTable(new StoreTableName("aspnet_Membership", "dbo"));
}
}
Контекст вашей базы данных:
public class TLI_FBA : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<UserDetail> UserDetails { get; set; }
public DbSet<UserMembership> UserMemberships { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new UserConfig());
modelBuilder.Configurations.Add(new UserDetailConfig());
modelBuilder.Configurations.Add(new UserMembershipConfig());
}
}