Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态实体导航属性_C#_Entity Framework - Fatal编程技术网

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进行配置映射。 父模型(资产)必须定义为抽象类,并且资产类型必须从父模型驱动