自定义核心 2 中标识的主键数据类型 asp.net 会在用户存储中产生问题



我需要 Identity 中用户类的主键很长,而不是默认字符串。按照此 MS 教程进行操作。所以我做了所有这些(只是将教程中的 GUID 替换为 long(,一切看起来都很好,直到我正在创建一个种子类

var userStore = new UserStore<ApplicationUser>(context);

给我应用程序用户上的波浪线,并显示消息:

错误 CS0311 类型"WSCPA_AC。Models.ApplicationUser' 不能用作泛型类型或方法 'UserStore' 中的类型参数 'TUser'。没有从 'WSCPA_AC 隐式引用转换。Models.ApplicationUser' to 'Microsoft.AspNetCore.Identity.IdentityUser'.

现在我在教程底部的评论中看到提到了此类问题。我是否必须以某种方式重写 UserStore 类,如果是,如何重写?

我认为您需要使用UserStore的基类,其签名为UserStore<TUser, TRole, TContext, TKey>,如下所示:

var userStore = new UserStore<ApplicationUser, IdentityRole<long>, TContext, long>(context);

其中TContext是数据库上下文的类型。

相关内容

  • 没有找到相关文章

最新更新