C# 动态实体导航属性
我有一个名为资产的实体,类似于以下:C# 动态实体导航属性,c#,entity-framework,C#,Entity Framework,我有一个名为资产的实体,类似于以下: public class Asset { public int Id { get; set; } public int TypeId { get; set; } public int AddedById { get; set; } public DateTime DateTimeAdded { get; set; } public virtual AssetType Type { get; set; } pu
public class Asset
{
public int Id { get; set; }
public int TypeId { get; set; }
public int AddedById { get; set; }
public DateTime DateTimeAdded { get; set; }
public virtual AssetType Type { get; set; }
public virtual ITUser AddedBy { get; set; }
}
我希望能够有一个链接到单个表的导航属性,但该表取决于它是什么类型的资产。例如,如果资产的类型为“Printer”,那么我希望导航属性链接到PrinterDetail实体。我最初的做法是在资产实体中使用未使用的列,但我认为这是浪费或不好的做法。是我忽略了什么,还是这仅仅是无法做到的
感谢您提供的任何建议。如果您想按类型浏览printerDetail,您可以使用entityfraemwork继承策略: 每个层次结构的表(TPH) 每种类型的表(TPT) 每种混凝土等级的表(TPC) 您必须为每种类型创建模型,并为此使用TPT策略。 然后您可以使用fluentapi进行配置映射。 父模型(资产)必须定义为抽象类,并且资产类型必须从父模型驱动