2
比方說,我有一個用戶等級:用戶類繼承IdentityUser;如何處理多重繼承的需要?
public class User : IdentityUser
{
public int CompanyId { get; set; }
//other stuff....
}
現在我代表的人喜歡Customer
,Employee
,SecurityGuard
其他類...等
我希望它們都繼承Person
類:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string UID { get; set; }
//etc...
}
組成將在這一點上是天賜良機,但由於EF核心尚不支持複雜類型,我卡住了。有沒有辦法解決這個問題?
你爲什麼不要麼把屬性爲'User'或使'Person'從'User'繼承? – DavidG
因爲其他類需要從Person繼承,並且它們不是應用程序中的用戶(Customer,Employee等)。 將屬性放入用戶將意味着將代碼複製到每個其他類中......這是我現在唯一的選擇。 – Jakov
提取'Person'的屬性來連接'IPerson'。讓'用戶'也實現'IPerson'。是的,它是代碼的重複,但由於'User'已經有一個基類,它是最好的C#允許的,同時允許你將'User'傳遞給具有類人屬性的方法。 –