我在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。我找不到一个好的例子,说明映射在这个上会是什么样的。