0

讓我們說,我有兩個類子節點添加到現有父實體框架

[Table("User")] 
public class User 
{ 
    public string Name { get; set; } 

    public string Surname { get; set; } 
} 

[Table("Manager ")] 
public class Manager : User 
{ 
    public int Title {get;set;} 
} 

而我會使用實體框架6.1.2和表每種類型的方式保存實體。

現在我想添加一個孩子(即經理),但有一個父母(即用戶)爲這個孩子。我應該怎麼做 如何只插入子節點

回答

0

你在混合一些面向對象的原則。 經理是用戶。 這意味着,如果您將管理員添加到系統中,您還可以有效地添加用戶。如果系統不是經理,則可以將用戶添加到系統中。 添加管理器將更新用戶表和管理器表。添加不是經理的用戶只會在用戶表中添加一個條目。 所以總之。普通用戶和管理員都將出現在用戶表中。但對於也是經理的用戶,經理表中也會有記錄。屬於經理的信息分佈在數據庫中的兩個表格中。在EF中,因爲您使用了繼承,所以您只使用一個管理器實例,但因爲它是從用戶派生的,所以您也可以訪問用戶屬性。關係概念和OO概念是不一樣的,EF爲你做這些不同概念之間的映射,因此名稱爲對象關係映射。

相關問題