Donc, j'essaie de comprendre cela depuis un moment, mais je ne semble pas réussir. Dans mon application, j'utilise un référentiel générique avec Entity Framework Core. Par conséquent, mon référentiel s'attend toujours à ce qu'il soit accédé par une classe dont BaseEntity ou a hérité de cette classe. Maintenant, je veux implémenter .Net Core Identity avec. Mais la classe My User hérite de BaseEntity. Mais j’aurais aussi besoin d’hériter de l’identité pour que cela fonctionne, je suppose. Comment puis-je utiliser encore Identity?
C # ne prend en charge que l'héritage unique. Vous ne pouvez pas hériter de deux classes différentes. De plus, votre classe d'utilisateurs Identity doit hériter d' IdentityUser
. Vous n'avez pas le choix dans cela. Par conséquent, le mieux que vous puissiez faire est de faire en sorte que votre classe d'utilisateurs et le reste de vos classes d'entités implémentent la même interface, c'est-à-dire IEntity
. Ensuite, au lieu de contraindre votre type générique à BaseEntity
, utilisez plutôt IEntity
.
Bien entendu, cela signifie que vous allez avoir à dupliquer du code car vous devrez implémenter IEntity
séparément sur BaseEntity
et sur votre classe d'utilisateurs. Cependant, c'est inévitable.