码迷,mamicode.com
首页 > Web开发 > 详细

EF中用Newtonsoft.Json引发的循环引用问题

时间:2015-04-23 13:02:51      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

描述:

1、双向关系表a->b b->aList

2、在查询a引用b以后

3、用Newtonsoft.Json 去tojsonstring

4、一个只有6条数据的json串 出现了一屏幕字符然后内存溢出

 

解决方案:

1、网上各种解决方法都是不靠谱不奏效的

2、不要对ef失去信心

3、做个模型然后在获取列表的时候用新模型

 

public IList<DeviceInfoMenuModel> GetMenuList(DeviceInfoParam param)
{
var list = _deviceInfoRepository.Table;

if (param != null)
{

if (!string.IsNullOrWhiteSpace(param.Province))
{
list = list.Where(r => r.Province.ProName == param.Province.Trim());
}
if (!string.IsNullOrWhiteSpace(param.City))
{
list = list.Where(r => r.City.CityName == param.City.Trim());
}
if (!string.IsNullOrWhiteSpace(param.District))
{
list = list.Where(r => r.District.DisName == param.District.Trim());
}
}

list = list.OrderByDescending(r => r.Id);


return list.Select(Mapper.Map<DeviceInfo, DeviceInfoMenuModel>).ToList();   //《----注意这里的映射
}

 

4、在生成json 问题解决

EF中用Newtonsoft.Json引发的循环引用问题

标签:

原文地址:http://www.cnblogs.com/zcm123/p/4449936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!