所以我現在想要解決這個問題一段時間,但我似乎沒有成功。在我的應用程序中,我正在使用具有Entity Framework Core的通用存儲庫。因此,我的存儲庫總是希望它是從一個BaseEntity類或從該特定類繼承的類訪問的。現在我想用它實現.Net核心身份。但是我的User類繼承自BaseEntity。但我還需要它繼承Identity,以使其成為可能。我怎麼還能使用Identity?
C#僅支持單繼承。您不能從兩個不同的類繼承。此外,您的Identity用戶類必須從IdentityUser
繼承。你別無選擇。因此,您可以做的最好的事情是使您的用戶類和其他實體類實現相同的接口,即IEntity
。然後,不要將您的泛型類型限制為BaseEntity
,而是使用IEntity
。
當然,這意味著您將需要進行一些代碼重複,因為您必須在BaseEntity
和用戶類上單獨實現IEntity
。但是,這是不可避免的。