mJa*_*Jay 3 c# json.net object-graph asp.net-core
检测到类型为“...”的属性“...”的自引用循环。路径“[4]....[0]”。
我已将此添加到我的Startup.cs:
services.AddMvc()
.AddJsonOptions(opt =>
opt.SerializerSettings.ReferenceLoopHandling =
ReferenceLoopHandling.Ignore
);
Run Code Online (Sandbox Code Playgroud)
还有什么可能导致参考循环错误?
编辑:在评论中回答问题......受影响的课程是:
public partial class GuidingSymptom
{
public GuidingSymptom()
{
VideosGuidingSymptoms = new HashSet<VideosGuidingSymptoms>();
}
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[MaxLength(70)]
[Required]
public string Name { get; set; }
public string Description { get; set; }
public int SeverityId { get; set; }
public int? DiagnoseId { get; set; }
[InverseProperty("GuidingSymptom")]
public virtual ICollection<VideosGuidingSymptoms> VideosGuidingSymptoms { get; set; }
[ForeignKey("DiagnoseId")]
[InverseProperty("GuidingSymptom")]
public virtual Diagnose Diagnose { get; set; }
[ForeignKey("SeverityId")]
[InverseProperty("GuidingSymptom")]
public virtual GuidingSymptomSeverity Severity { get; set; }
}
public partial class VideosGuidingSymptoms
{
public int VideoId { get; set; }
public int GuidingSymptomId { get; set; }
[ForeignKey("GuidingSymptomId")]
[InverseProperty("VideosGuidingSymptoms")]
public virtual GuidingSymptom GuidingSymptom { get; set; }
[ForeignKey("VideoId")]
[InverseProperty("VideosGuidingSymptoms")]
public virtual Video Video { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我找到了添加的解决方案
[JsonIgnore]
Run Code Online (Sandbox Code Playgroud)
受影响的属性的注释。但是,我预计在使用时不需要这样做ReferenceLoopHandling.Ignore
| 归档时间: |
|
| 查看次数: |
3812 次 |
| 最近记录: |