これまでのところ、すべてのタイプを Guid を使用するように変換する際に問題はありませんでした (例):
public class UserLogin : IdentityUserLogin<Guid> { ... }
public class UserRole : IdentityUserRole<Guid> { ... }
public class UserClaim : IdentityUserClaim<Guid> { ... }
public class User : IdentityUser<Guid, UserLogin, UserRole, UserClaim>
{
...
}
public class UserManager : UserManager<User, Guid> { ... }
を詳しく見てみましょうMicrosoft.AspNet.Identity.UserManager
:
public class UserManager<TUser, TKey> : IDisposable
where TUser : class, Microsoft.AspNet.Identity.IUser<TKey>
where TKey : System.IEquatable<TKey>
{ ... }
明らかにTKey
ジェネリックであるため、許可されますGuid
。
次はロール マネージャーです。
public class RoleManager : RoleManager<Role>
{
}
しかし、の定義Microsoft.AspNet.Identity.RoleManager
:
public class RoleManager<TRole> : RoleManager<TRole, string>
where TRole : class, Microsoft.AspNet.Identity.IRole<string>
{
}
ロールのキーが の場合にのみ機能するようですstring
。これはバグですか、それとも何か不足していますか?