0

我正在 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 对象。我找不到一个很好的例子来说明这个映射的样子。

4

0 回答 0