diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs
index fe6af2e7f6..7a494ddae5 100644
--- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs
+++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs
@@ -81,13 +81,9 @@ namespace Volo.Abp.Identity
Claims.RemoveAll(c => c.ClaimType == claim.Type && c.ClaimValue == claim.Value);
}
- ///
- /// Returns the name of the role.
- ///
- /// The name of the role.
public override string ToString()
{
- return Name;
+ return $"{base.ToString()}, Name = {Name}";
}
}
}
diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
index 1a6583b45e..fd61f5c809 100644
--- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
+++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
@@ -10,8 +10,6 @@ using Volo.Abp.Guids;
namespace Volo.Abp.Identity
{
- //Add Name and Surname properties?
-
public class IdentityUser : AggregateRoot, IHasConcurrencyStamp
{
///
@@ -134,7 +132,7 @@ namespace Volo.Abp.Identity
Tokens = new Collection();
}
- public void AddRole(IGuidGenerator guidGenerator, Guid roleId)
+ public void AddRole(Guid roleId)
{
Check.NotNull(roleId, nameof(roleId));
@@ -143,7 +141,7 @@ namespace Volo.Abp.Identity
return;
}
- Roles.Add(new IdentityUserRole(guidGenerator.Create(), Id, roleId));
+ Roles.Add(new IdentityUserRole(Id, roleId));
}
public void RemoveRole(Guid roleId)
diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs
index 2740b67323..daf1f4af6d 100644
--- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs
+++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs
@@ -6,7 +6,7 @@ namespace Volo.Abp.Identity
///
/// Represents the link between a user and a role.
///
- public class IdentityUserRole : Entity
+ public class IdentityUserRole : Entity
{
///
/// Gets or sets the primary key of the user that is linked to a role.
@@ -23,9 +23,8 @@ namespace Volo.Abp.Identity
}
- protected internal IdentityUserRole(Guid id, Guid userId, Guid roleId)
+ protected internal IdentityUserRole(Guid userId, Guid roleId)
{
- Id = id;
UserId = userId;
RoleId = roleId;
}
diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs
index af2b2ab20f..bb3d9c86c5 100644
--- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs
+++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs
@@ -335,7 +335,7 @@ namespace Volo.Abp.Identity
await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Roles, cancellationToken);
- user.AddRole(_guidGenerator, role.Id);
+ user.AddRole(role.Id);
}
///
diff --git a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
index 98fbfd55f5..736ddcc214 100644
--- a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
+++ b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
@@ -76,10 +76,11 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
{
b.ToTable(tablePrefix + "UserRoles", schema);
+ b.HasKey(ur => new {ur.UserId, ur.RoleId});
+
b.HasOne().WithMany().HasForeignKey(ur => ur.RoleId).IsRequired();
b.HasOne().WithMany(u => u.Roles).HasForeignKey(ur => ur.UserId).IsRequired();
- b.HasIndex(ur => new { ur.UserId, ur.RoleId });
b.HasIndex(ur => new { ur.RoleId, ur.UserId });
});
diff --git a/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs b/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
index 931fdf3f87..e321d107ed 100644
--- a/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
+++ b/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
@@ -43,8 +43,8 @@ namespace Volo.Abp.Identity
private void AddUsers()
{
var john = new IdentityUser(_guidGenerator.Create(), "john.nash");
- john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _moderator.Id));
- john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _supporterRole.Id));
+ john.AddRole(_moderator.Id);
+ john.AddRole(_supporterRole.Id);
_userRepository.Insert(john);
}
}