在WCF中使用EntityFramework加载子实体

以下代码是WCF项目。 我正在使用EntityFramekwork(v.6)加载表的子数据。 如下代码。

这是存储库中的代码。

public IEnumerable<Messages> GetMessagesList()
{
    return context.Messages.Include(e=>e.Users).Include(e=>e.Codes).ToList();
}

这是服务中的代码:

public IEnumerable<Messages> GetMessagesList()
{
   var res =  messagesRepository.GetMessagesList();
   return res;
}

无论是否包含include方法,它都会在调试时返回数据。

但是问题是,当我添加include方法以在客户端中加载相关子实体时。当我仅加载消息实体时,没关系。

  

在收到HTTP响应时发生错误   http://localhost:2341/DataService.svc。这可能是由于   服务端点绑定不使用HTTP协议。这也可以   是由于HTTP请求上下文被服务器中止   (可能是由于服务关闭)。查看服务器日志以了解更多信息   详细信息。

内部异常消息:

  

基础连接已关闭:发生意外错误   接收。

使用WCF测试客户端进行测试时:

在WCF中使用EntityFramework加载子实体

这里实际存在的问题是如何传递带有加载到客户端的子代的Messages实体而不会出现错误。这些错误非常笼统,无法理解实际问题。

liupan7891 回答:在WCF中使用EntityFramework加载子实体

我在模型类中添加了 [DataContract(IsReference = true)] ,并且从子表中获取的所有相关数据都已加载完毕。在这种情况下,这就是解决方案。

本文链接:https://www.f2er.com/3160626.html

大家都在问