所以我现在想要解决这个问题一段时间,但我似乎没有成功。在我的应用程序中,我正在使用具有Entity Framework Core的通用存储库。因此,我的存储库总是希望它是从一个BaseEntity类或从该特定类继承的类访问的。现在我想用它实现.Net核心身份。但是我的User类继承自BaseEntity。但我还需要它继承Identity,以使其成为可能。我怎么还能使用Identity?
C#仅支持单继承。您不能从两个不同的类继承。此外,您的Identity用户类必须从IdentityUser
继承。你别无选择。因此,您可以做的最好的事情是使您的用户类和其他实体类实现相同的接口,即IEntity
。然后,不要将您的泛型类型限制为BaseEntity
,而是使用IEntity
。
当然,这意味着您将需要进行一些代码重复,因为您必须在BaseEntity
和用户类上单独实现IEntity
。但是,这是不可避免的。