导航属性的类型加了[Serializable]或者[DataContract]标记吗?
您好,这个没有加,这个事要在Code first 定义的时候就加上去吗
我在code first 实体中加了,但还是不行
例如
public class OperationPhase
{
public OperationPhase()
{
this.Aircrafts = new HashSet<Aircraft>();
}
public int OperationPhaseID { get; set; }
[StringLength(16)]
public string Name { get; set; }
[StringLength(100)]
public string Description { get; set; }
[Include]
[Serializable]
public virtual ICollection<Aircraft> Aircrafts { get; set; }
}
这样不行呀
@chenchunyong: 加在Aircraft的类的定义上
[Serializable]
public class Aircraft
{
}
@dudu: 你好,按照这样处理还是不行。EF中一对多关系的处理,导航属性序列化问题如何解决较好呢?
这是由于 LazyLoading 的关系,
不用去标记 Serializable。 最简单的办法 - 在 serialize OperationPhase object之前 取一遍 Aircrafts
var aircrafts = op.Aircrafts.ToList();
然后serialize op object