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_Ef Code First_Entity Framework 6 - Fatal编程技术网

C# 按层次结构访问表中的子类

C# 按层次结构访问表中的子类,c#,entity-framework,ef-code-first,entity-framework-6,C#,Entity Framework,Ef Code First,Entity Framework 6,我有以下课程: public abstract class EsBase { [Key, Required] [DataMember] public Guid ID { get; set; } [ScaffoldColumn(false)] public bool SoftDelete { get; set; } } public class User: EsBase { [DataMember] public virtual Lis

我有以下课程:

public abstract class EsBase
{
    [Key, Required]
    [DataMember]
    public Guid ID { get; set; }

    [ScaffoldColumn(false)] 
    public bool SoftDelete { get; set; }
}

public class User: EsBase
{
    [DataMember]
    public virtual List<Role> RolesRequested { get; set; } 
}

public class Scorer: User
{
    [DataMember]
    public string Name { get; set; }
}
公共抽象类EsBase
{
[钥匙,必填]
[数据成员]
公共Guid ID{get;set;}
[脚手架立柱(假)]
公共bool SoftDelete{get;set;}
}
公共类用户:EsBase
{
[数据成员]
公共虚拟列表角色请求{get;set;}
}
公共类记分器:用户
{
[数据成员]
公共字符串名称{get;set;}
}
当我尝试使用Scorer db对象时,我得到一个错误:

从物化的“System.Data.Entity.DynamicProxies.User_6F1B1…”类型到“Data.Models.Scorer”类型的指定强制转换无效

我想这是因为db表同时存储了用户和记分器,所以我不能只添加一个新的记分器

创建用户后,用户可能会获得记分器类/状态


如何在代码中设置它,以便我可以向用户添加记分器属性?

var Scorer=new Scorer(myUser)?也许您需要添加构造函数?编辑:创建的
用户
是从数据库中获取的吗?它是用
new
关键字创建的吗?确保它已连接到数据库。您可以在尝试与记分员交互的地方发布代码吗?