我将大量对象反序列化到我的 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)。