Привет Я использую наследование TPH для создания похожих настраиваемых элементов. Мой TPH Модель:Связи TPH и Many to Many
public class baseConfigItem
{
public int ID {get; set;}
public string ExternalText {get; set;}
public string InternalText { get; set; }
public bool Active { get; set; }
public string Group { get; set; }
public int SortOrder { get; set; }
public statusDef status { get; set; }
public virtual ICollection<Order> Orders{get;set;}
public baseConfigItem()
{
this.Orders= new List<Order>();
}
}
public class DoorTypes:baseConfigItem{public DoorTypes():base(){}}
public class WindowType : baseConfigItem { public WindowType():base(){}}
public class WallType : baseConfigItem { public WallType():base(){}}
public class RoofType : baseConfigItem { public RoofType():base(){}}
public class RoofSize : baseConfigItem { public RoofSize():base(){}}
public class DoorSize : baseConfigItem { public DoorSize():base(){}}
public class GardenSize : baseConfigItem { public GardenSize():base(){}}
Я тогда нужно создать многие ко многим и 1, один ко многим/многие к одному отношения с ребенком субъектов с субъектами порядка:
- Орден имеет многие WindowTypes
- Орден имеет много WallTypes
- Орден имеет много RoofTypes
- Орден имеет один RoofSize
- Орден имеет один DoorSize
- Орден имеет один GardenSize
public class Order
{
public int ID {get; set;}
public virtual ICollection<WindowType> WindowTypes {get; set;}
public virtual ICollection<WallType> WallTypes {get; set;}
public virtual ICollection<RoofType> RoofTypes {get; set;}
public RoofSize RoofSize {get; set;}
public DoorSize DoorSize {get; set;}
public GardenSize GardenSize {get; set;}
}
Однако это не создает отношения многие ко многим для RoofTypes, WallTypes и т.д ... Я предположил, что public virtual ICollection Orders {get; set;} будет наследоваться. Как я смогу установить вышеуказанные унаследованные классы с отношением от многих до многих и от одного до многих?
PS. Вы можете улучшить свою модель, добавив Id в дочерние таблицы для родителя в отношениях от 1 до многих. – alikuli