在C#中我使用实体框架和MVC并且具有:
public class Part
public class FinishedGoodsPart: Part
public int? ProductLineId { get; set; }
public class CompetitorPart : Part
public int? ProductLineId { get; set; }
public class OEPart: Part
public class ProductLine
public virtual ICollection<Part> Parts { get; set; }
观察FinishedGoodsPart和CompetitorPart有ProductLine,但OEPart没有。
这会在FinishedGoodsPart和CompetitorPart表中放置一个名为ProductLine_Id的列,正如我所期望的那样,但也将列ProductLine_Id放在表Part(我不想要)中。
如何阻止E.F.添加列Part.ProductLine_Id?有更好的设计吗?
目标是ProductLine模型对象的实例将包含属于该产品系列的所有零件的列表(无论它们是竞争对手还是成品零件)。但是OEPart不允许设置ProductLine。
FinishedGoodsPart对象将具有很多属性,而CompetitorPart将很少,因此我不想将所有部分记录存储在单个数据库表中。