gpt4 book ai didi

c# - 没有从 ApplicationUser 到 IdentityUser 的隐式引用转换

转载 作者:行者123 更新时间:2023-12-05 04:13:19 25 4
gpt4 key购买 nike

我正在尝试自定义一些使用泛型的 ASP.NET Identity Core 类。

我的 ApplicationUser 类:

public class ApplicationUser : IdentityUser<Guid>//, ApplicationUserClaim, ApplicationRole, ApplicationUserLogin> 
{
public ApplicationUser() { }
}

我的 ApplicationUserStore 类:

public class ApplicationUserStore : UserStore<ApplicationUser, ApplicationRole, ApplicationDbContext, Guid> 
{
public ApplicationUserStore(ApplicationDbContext ctx, IdentityErrorDescriber describer = null) : base(ctx, describer)
{

}
}

错误信息是:

'AspDotNetCoreFullFramework.Identity.ApplicationUser1[System.Guid]',
on
Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`8[TUser,TRole,TContext,TKey,TUserClaim,TUserRole,TUserLogin,TUserToken]' violates the constraint of type parameter 'TUser'

现在,当我转到 UserStore(基类)的 .NET 实现时:

public class UserStore<TUser, TRole, TContext, TKey> : UserStore<TUser, TRole, TContext, TKey, IdentityUserClaim<TKey>, IdentityUserRole<TKey>, IdentityUserLogin<TKey>, IdentityUserToken<TKey>>
where TUser : IdentityUser<TKey>
... where TKey : IEquatable<TKey> {

我可以看到 ApplicationUser 继承自 IdentityUser 。这个约束得到满足。TKey 是实现 IEquatable 的 GUID。此约束条件也得到满足。

那么问题是什么?

最佳答案

将 GUID 添加到

IdentityBuilder.AddEntityFrameworkStores<ApplicationDbContext,Guid>();

如本 post 所述解决了问题。

关于c# - 没有从 ApplicationUser 到 IdentityUser 的隐式引用转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38172807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com