【问题标题】:Add child node to existing parent Entity Framework将子节点添加到现有的父实体框架
【发布时间】:2015-02-07 10:04:59
【问题描述】:

假设我有两个班级

[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 和按类型表的方法来保存实体。

现在我想添加一个孩子(即经理),但这个孩子有一个父母(即用户)。

那我该怎么办 如何只插入子节点。

【问题讨论】:

    标签: entity-framework inheritance entity-framework-6 table-per-type


    【解决方案1】:

    您正在混合一些 OO 原则。 管理员是用户。 这意味着如果您向系统添加管理员,您实际上也添加了一个用户。如果用户不是管理员,您可以将用户添加到系统。 添加经理将同时更新用户表和经理表。添加不是经理的用户只会在用户表中添加一个条目。 所以总结一下。所有普通用户和管理员用户都将出现在用户表中。但是对于同时是 manager 的用户,在 manager 表中也会有一条记录。属于经理的信息分布在数据库中的 2 个表中。在 EF 中,因为您使用了继承,所以您只使用了一个管理器实例,但因为它是从用户派生的,所以您也可以访问用户属性。关系概念和 OO 概念是不一样的,EF 为你做这些不同概念之间的映射,因此得名 Object Relational Mapping。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多