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为你做这些不同概念之间的映射,因此名称为对象关系映射。

相关问题