zoukankan      html  css  js  c++  java
  • EF中用Newtonsoft.Json引发的循环引用问题

    描述:

    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 问题解决

  • 相关阅读:
    安利博客
    python 的高阶算法之堆排序
    functools模块用途
    类型注解
    高阶函数和装饰器
    生成器

    递归函数
    匿名函数
    函数 的 返回值作用域
  • 原文地址:https://www.cnblogs.com/zcm123/p/4449936.html
Copyright © 2011-2022 走看看