private void SpecifyUser(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasKey(u => u.Id);
modelBuilder.Entity<User>().Property(u => u.Name).HasMaxLength(4000).IsRequired();
modelBuilder.Entity<User>().HasMany(u => u.Accounts);
modelBuilder.Entity<User>().HasMany(u => u.Groups);
modelBuilder.Entity<User>().HasMany(u => u.Organizations).WithMany().Map(m =>
{
m.MapLeftKey("UserId");
m.MapRightKey("OrganizationId");
m.ToTable(FormatTableName("UserOrganization"));
});
modelBuilder.Entity<User>().HasMany(u => u.Roles).WithMany().Map(m =>
{
m.MapLeftKey("UserId");
m.MapRightKey("RoleId");
m.ToTable(FormatTableName("UserRole"));
});
modelBuilder.Entity<User>().HasMany(u => u.CustomProperties).WithMany().Map(m =>
{
m.MapLeftKey("UserId");
m.MapRightKey("CustomPropertyId");
m.ToTable(FormatTableName("UserCustomProperty"));
});
}