繁体   English   中英

反序列化后,实体对象的导航属性设置为null

[英]Entity object's navigation property set to null after Deserialization

我正在开发WPF应用程序,架构师是

WPF-> WCF-> DAL

问题是当我调用WCF方法时,它返回对象。 WCF级别以上的所有内容都可以正常工作,但在返回对象时,在WCF之后我的导航属性设置为null。

我正在返回Department类的对象(PO​​CO)对象,其导航属性是Employees。 我验证了[DataMember]属性,但事实并非如此。 但是当它到达MainUI时,其Employees属性设置为null。

我的导航属性的代码如下所示

谢谢

我想这是因为导航属性是延迟加载的。 当您尝试访问它们时,无法加载它们,因为上下文已被释放。 加载主属性时,应该热切地或明确地加载它们。

渴望加载:

from d in context.Department.Include("Employees")
select d;

显式加载:

var departments = (from d in context.Department
                   select d).ToList();
departments.ForEach(e => e.EmployeesReference.Load());

编辑后编辑

问题可能是这样的:

department.FirstOrDefault().Employees = employees.ToFixupCollection();

尝试将其更改为:

department.FirstOrDefault().Employees = employees.ToList<Employee>();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM