实体框架:在代码中建立关​​系表第一个TPH层次结构

时间:2012-08-08 14:51:21

标签: entity-framework ef-code-first entity-framework-4.3

我在TPH系统中的相关对象之间建立了一系列关系。

public abstract class Box
{
    public Box()
    {
        Boxes = new HashSet<Box>();
        Descriptors = new HashSet<Descriptor>();
    }

    public Guid Id { get; set; }

    public virtual ICollection<Box> Boxes { get; set; }
    public virtual ICollection<Descriptor> Descriptors { get; set; }
}

此基类由例如3个单独的子类

扩展
public class Item: Box
{
    public Sample()
    {
        Events = new HashSet<Event>();
        Phones = new HashSet<Phone>();
    }

    public virtual ICollection<Phone> Phones { get; private set; }
    public virtual ICollection<Event> Events{ get; private set; }
}

public class Phone : Box {}


public class Event: Box
{
    public Item { get; private set; }
}

使用TPH,它似乎是在Box表中设置关系,而不是创建外部关系表来关联Item,Phone和Event Objects。我找不到一个好的例子,说明映射在这个上会是什么样的。

0 个答案:

没有答案