将.Net Core Identity与通用存储库一起使用

时间:2018-08-15 16:26:43

标签: asp.net-core-mvc entity-framework-core asp.net-core-identity

所以我现在想设法解决这个问题,但是我似乎没有成功。在我的应用程序中,我使用带有Entity Framework Core的通用存储库。 因此,我的存储库始终希望从BaseEntity类或从该类继承的类访问它。 现在,我想用它来实现.Net Core Identity。但是我的用户类是继承自BaseEntity。但是我还需要它从Identity继承来使它起作用。我如何仍然可以使用身份?

1 个答案:

答案 0 :(得分:1)

C#仅支持单继承。您不能从两个不同的类继承。另外,您的Identity用户类必须继承自IdentityUser。您别无选择。结果,您能做的最好的就是使您的用户类和其余实体类实现相同的接口,即IEntity。然后,不要将通用类型限制为BaseEntity,而应使用IEntity

当然,这意味着您将招致一些代码重复,因为您必须分别在IEntity和用户类上实现BaseEntity。但是,这是不可避免的。