基本上,我有一个通过Entity Framework连接数据库的WCF服务。
现在,我知道渴望加载VS.延迟加载并且在服务中我确实从DB获得了所有期望的相关实体。当我返回到已调用服务的视图模型并且由于某种奇怪的原因将相关实体设置为null时,会出现问题。
请让我演示: 以下是调用服务的视图模型:
现在,这是服务方法" GetAllWorkers()"已被调用:
现在,当我处于调试模式时,这是在service方法中返回的内容:
如您所见,工作人员的相关任务按我的意愿返回。 因此,热切的加载已经成功完成。
当我返回视图模型时出现问题:(使用F11 - 步入)
好的,怎么可能,服务方法返回相关的实体,但是当我回到客户端(在视图模型)时,返回的相关任务现在被设置为null。
如果重要的话,我使用Channel Factory而不添加服务引用。
谢谢!如果您需要我提供一些额外的代码,请告诉我们!
答案 0 :(得分:0)
所以我不知道我是否理解你,但为了保持原样,请尝试使用:
List<Worker> worker = new List<Worker>(proxy.GetAllWorkers());
OR
如果workertasks字段是引用类型变量,那么它可能会发生,也许你提供对你没有接受的范围的引用
编辑: 是Worker类DataContract?