【问题标题】:WCF Service - does not return related entitiesWCF 服务 - 不返回相关实体
【发布时间】:2014-07-05 12:11:26
【问题描述】:

基本上,我有一个通过实体框架连接数据库的 WCF 服务。

现在,我知道了急切加载 VS。延迟加载和服务内我确实从数据库中获得了所有所需的相关实体。当我返回调用服务的视图模型并且由于某种奇怪的原因将相关实体设置为 null 时,就会出现问题。

请让我演示一下: 这是调用服务的视图模型:

现在,这里是已调用的服务方法“GetAllWorkers()”:

现在,当我处于调试模式时,以下是服务方法中返回的内容:

如你所见,worker的相关任务如我所愿返回。 至此,Eager 加载成功。

当我返回视图模型时出现问题:(使用 F11 - step into)

好吧,怎么可能,服务方法返回了相关实体,但是当我回到客户端(在视图模型中)时,返回的相关任务现在设置为 null。

如果这很重要,我会使用 Channel Factory 而不添加服务引用。

谢谢!如果您需要我为您提供一些额外的代码,请告诉我!

【问题讨论】:

  • 你能告诉我GetAllWorkers方法吗?

标签: c# entity-framework wcf debugging


【解决方案1】:

所以我不知道我是否理解你,但为了安全,请尝试使用:

List<Worker> worker = new List<Worker>(proxy.GetAllWorkers());

如果 workertasks 字段是引用类型变量,那么它可能会发生,也许您将引用传递给您无法访问的范围

编辑: 并且是 Worker 类 DataContract?

【讨论】:

  • 我会试试这个,如果不行,我会粘贴所有相关代码。是的,worker 是一个数据合约。
  • OMG--> 我已将 [Data Member] 属性放在除 WorkerTasks 之外的所有 Worker Class 属性上。谢谢,Taumantis,你是对的,我无法进入那个领域。现在,一切正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多