采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在查询父数据时加了Include顺便读取子数据,就会报无限循环的错误怎么解决?
估计是TouristRouteDto中,你把ICollection<TouristRoutePictureDto>写成了ICollection<TouristRoutePicture>,所以会出现循环引用。改一下就行,如果实在不想改,可以在启动类中添加忽略循环引用的代码。
我用的是.Net6版本,没有Startup类,在Progress.cs文件中,builder.Services.AddControllers()方法后,添加忽略循环引用的代码即可,代码我已经贴在下面了。
builder.Services.AddControllers().AddJsonOptions( opt =>
{
opt.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
//忽略循环引用
});
我也注意到TouristRoute和TouristRoutePicture 两个Model中的导航属性会导致在Include的时候会死循环下去,而在TouristRoutePictureDto中去掉了TouristRoute的导航属性,所以可以正确执行。我单步执行的时候发现数据只有在执行了Return Ok后才出现错误,数据在Return Ok 后才加载?
登录后可查看更多问答,登录/注册
. Net 实战+RESTful思想纵深课程,开发优雅RESTful风格API。
491 2
552 2
637 1
1.1k 2
1.4k 3
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号