asp.net-core-mvc - 将 .Net Core Identity 与通用存储库一起使用
问题描述
所以我现在试图解决这个问题一段时间,但我似乎没有成功。在我的应用程序中,我使用的是带有 Entity Framework Core 的通用存储库。因此,我的存储库总是期望它是从一个 BaseEntity 的类或从该特定类继承的类访问的。现在我想用它来实现.Net Core Identity。但是我的用户类是从 BaseEntity 继承的。但我也需要它从 Identity 继承以使其工作,我猜。我怎样才能仍然使用身份?
解决方案
C# 只支持单继承。您不能从两个不同的类继承。此外,您的身份用户类必须继承自IdentityUser
. 你别无选择。因此,您能做的最好的事情就是让您的用户类和其他实体类实现相同的接口,即IEntity
. 然后,不要将泛型类型限制为BaseEntity
,IEntity
而是使用。
当然,这意味着您将产生一些代码重复,因为您必须IEntity
分别在BaseEntity
您的用户类和用户类上实现。然而,这是不可避免的。
推荐阅读
- python - 如何使这个numpy数组的初始化工作?
- regex - 如何在正则表达式中至少一次从集合中无序选择每个元素?
- r - R:ggplot - 根据组绘制具有不同颜色的数据点的趋势线
- c# - ASP.NET Core AuthorizationHandler 未被调用
- python - AWS lambda 调用时不运行代码
- javascript - 未更新使用 JavaScript 的密码确认
- docker - Gitlab 使用 helm 安装分蘖导致 kubernetes-charts.storage.googleapis.com 不是有效的图表存储库
- javascript - displayChoice() 和使用 .innerHTML 有什么区别?
- c# - 如何将对象列表投影到嵌套对象列表中
- css - 使标题内的文本响应