Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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# 无法将DataProxies类型的对象强制转换为ICollection_C#_Sql_Entity Framework_Asp.net Mvc 5 - Fatal编程技术网

C# 无法将DataProxies类型的对象强制转换为ICollection

C# 无法将DataProxies类型的对象强制转换为ICollection,c#,sql,entity-framework,asp.net-mvc-5,C#,Sql,Entity Framework,Asp.net Mvc 5,完全错误无法将类型为“System.Data.Entity.DynamicProxies.ActionDirectory”的对象转换为类型为“System.Collections.Generic.ICollection`1[FBT_Grass.Models.ActionDirectory]”的对象 所以我使用了一些遗留代码,并像这样实例化了一个步骤 GrievanceStep step = db.GrievanceSteps.SingleOrDefault(gs=> gs.Grievanc

完全错误无法将类型为“System.Data.Entity.DynamicProxies.ActionDirectory”的对象转换为类型为“System.Collections.Generic.ICollection`1[FBT_Grass.Models.ActionDirectory]”的对象

所以我使用了一些遗留代码,并像这样实例化了一个步骤

GrievanceStep step = db.GrievanceSteps.SingleOrDefault(gs=> gs.GrievanceStepId == id);
因此,当我在调试器中停止它时,一切看起来都很好,但当我尝试访问ActionDirectory实体时,一切都会顺利进行,直到我尝试访问ActionDirectory.Directory

我真的很难破译这个密码和正在发生的事情。我几乎可以肯定这些实体设置错误,但我的大脑因为长时间盯着它们而受到伤害。任何帮助都是非常感谢的:D

public class ActionDirectory
{
    public Guid ActionID { get; set; }
    [ForeignKey("ActionID")]
    public virtual Action Action { get; set; }
    public Guid DirectoryID { get; set; }
    [ForeignKey("DirectoryID")]
    public virtual Filesystem Directory { get; set; }
    public Guid GrievanceStepID { get; set; }
    [ForeignKey("GrievanceStepID")]
    public virtual GrievanceStep GrievanceStep { get; set; }
}
全班同学都在努力争取董事

public class GrievanceStep
{        
    [Column("GrievanceStepId")]
    public Guid GrievanceStepID { get; set; }
    public String Name { get; set; }
    public bool Completed { get; set; }
    public string CompletedOn { get; set; }
    public Guid? GrievanceID { get; set; }
    [ForeignKey("GrievanceID")]
    public virtual Grievance Grievance { get; set; }
    public bool IsNullStep { get; set; }
    public virtual ICollection<Action> Actions { get; set; }
    public virtual ICollection<GrievancePropertyField> Fields { get; set; }       
    public virtual ICollection<GrievanceStepProperty> DefaultProperties { get; set; }
    public virtual ICollection<GrievanceApprovers> GrievanceApprovers { get; set; }
    public virtual ICollection<DocumentGrievanceStep> GrievanceStepDocuments { get; set; }
    public virtual ICollection<DirectoryGrievanceStep> GrievanceStepDirectories { get; set; }
    [JsonIgnore]
    public virtual ICollection<ActionDocument> ActionDocuments { get; set; }
    [JsonIgnore]
    public virtual ICollection<ActionDirectory> ActionDirectories { get; set; }

}
public类步骤
{        
[列(“步骤ID”)]
公共Guid StepID{get;set;}
公共字符串名称{get;set;}
公共bool已完成{get;set;}
在{get;set;}上完成的公共字符串
公共Guid?ID{get;set;}
[ForeignKey(“申诉ID”)]
公共虚拟申诉申诉{get;set;}
公共bool IsNullStep{get;set;}
公共虚拟ICollection操作{get;set;}
公共虚拟ICollection字段{get;set;}
公共虚拟ICollection DefaultProperties{get;set;}
公共虚拟ICollection审批者{get;set;}
公共虚拟ICollection文档{get;set;}
公共虚拟ICollection目录{get;set;}
[JsonIgnore]
公共虚拟ICollection操作文档{get;set;}
[JsonIgnore]
公共虚拟ICollection操作目录{get;set;}
}
这是文件系统

public class Filesystem
{
    [Column("DirectoryID")]
    public Guid DirectoryID { get; set; }
    public HierarchyId hNode { get; set; }
    public string Name { get; set; }
    public bool Active { get; set; }
    public Guid CreatedByID { get; set; }
    [ForeignKey("CreatedByID")]
    [Required]
    public virtual User Creator { get; set; }
    [JsonIgnore]
    [ForeignKey("ActionID")]
    public virtual ICollection<ActionDirectory> ActionDirectories { get; set; }
    [JsonIgnore]
    public virtual ICollection<DirectoryGrievanceStep> DirectoryGrievanceSteps { get; set; }
}
公共类文件系统
{
[列(“目录ID”)]
公共Guid目录ID{get;set;}
公共层次结构ID hNode{get;set;}
公共字符串名称{get;set;}
公共bool活动{get;set;}
公共Guid CreatedByID{get;set;}
[ForeignKey(“CreatedByID”)]
[必需]
公共虚拟用户创建者{get;set;}
[JsonIgnore]
[ForeignKey(“ActionID”)]
公共虚拟ICollection操作目录{get;set;}
[JsonIgnore]
公共虚拟ICollection目录{get;set;}
}

ForeignKey(“ActionID”)的目的是什么在文件系统中?@masa再次不确定,我继承了这段代码。这可能是问题吗?不确定,我对EF不太熟悉。这是一个关系问题,即当预期的关系为“多”时,ActionDirectory只有一个实例可用。我在我的环境中创建了您的模型并运行了一些实验,但无法重新编程uce解决问题。需要更多信息。例如,如何尝试访问ActionDirectory.Directory?使用[code>[ForeignKey(“ActionID”)]的目的是什么在文件系统中?@masa再次不确定,我继承了这段代码。这可能是问题吗?不确定,我对EF不太熟悉。这是一个关系问题,即当预期的关系为“多”时,ActionDirectory只有一个实例可用。我在我的环境中创建了您的模型并运行了一些实验,但无法重新编程解决问题。需要更多信息。例如,如何尝试访问ActionDirectory.Directory?