在用Ef的时候,也许经常会遇到循环引用的错误。
下面提供解决办法。(不是Json.Net,如果是Json.Net可以给导航属性通过增加特性标签来解决该问题)
ef大多数问题,可以通过ToList()来解决。当这个问题解决不来的时候,你可以选择下面这种方法。
IQueryable<TopicInfo> topicInfos = _topicInfoService.GetPagedEntitesQueryable(pageSize, pageIndex,
wherelambda, t => t.TopicId, true);
var newTopicInfos = topicInfos.Select(t => new
{
TopicId = t.TopicId,
ParentId = t.ParentId,
TopicName = t.TopicName,
TopicDescription = t.TopicDescription,
ImgUrl = t.ImgUrl,
ModifyTime = t.ModifyTime
});
return Json(newTopicInfos);