首页 > 解决方案 > 在 Code First 场景中,List 项的 ParentID 为 null

问题描述

我将大量对象反序列化到我的 POCO / CodeFirst 类中。这意味着我不能使用 ICollection<>。相反,我将 List<> 用于我的收藏。

然后我依赖(或想要)使用实体框架时发生的自动导航映射。

例如:

public class MyClass
{
    public int MyClassID { get; set; }

    public virtual Member Member { get; set; }
}

public class Member
{
    /**/
}

在 Member 表中自动生成一个 int MyClassID 以及一个指向 MyClass 的导航属性(在对象上)。int 属性在代码中也对我隐藏。

我现在的问题是 Array / List 项目没有正确映射:

public class MyClass
{
    public int MyClassID { get; set; }

    public virtual List<Member> Members { get; set; }
}

public class Member
{
    /**/
}

当数组类型为 ICollection<> (正常的 CodeFirst 类型)时,我无法反序列化 XML - 所以我使用 List<> 。我不确定这是否与自动导航和身份创建有关。

但我面临的问题是,如果列表没有反向引用容器(MyClass) - 它会创建 MyClassID 字段,但它是空的(Null)。

标签: entity-framework-coreef-code-firstdeserializationef-code-first-mapping

解决方案


推荐阅读