2

我的應用應該有Medics和Participants。如何在EF中對此進行建模?

他們都應該能夠登錄到網站。

所以,現在我所擁有的是這個。

public class Participant:Person 
{ 
     public string EmergencyContactNumber; 
} 

public class Medic:Person 
{ 
    public string MedicHospitalId; 
} 

public abstract class Person 
{ 
    public string FirstName; 
    public string LastName; 

    public string UserName; //this is the Membership Provider UserName to associate the MembershipUser to the Person thats logging into to the system. 

} 

的問題,這是一名醫生可能最終也是一個參與者......我不想有創建一個新的用戶.. 我如何改變我的模型允許這項功能?

回答

1

我會重做它是'有'而不是'是'的關係。所以不是一名醫生是一個人,這將是關係到一個人,如:

public class Medic 
{ 
    public string MedicHospitalId; 
    public Person Person; 
} 

然後會有一名醫生表與人桌的FK關係。參與者也是同樣的事情。這可以讓一個人成爲雙方,並且我認爲這個模型有點清理了。

如果你想用它變得更瘋狂,你可以將它非規範化爲更多的eav表,但那是另一天。

0

也許角色會很好的解決你的問題嗎?