2017-05-29 2 views
2

Obwohl ich den Artikel gefolgt here Ich erhalte den Fehlerselbstbeziehende Schleifen erkannt in ASP.Net Core-1.1-Lösung

Selbstreferenzierung Schleife für Eigenschaft erkannt ‚...‘ mit Typ ‚...‘ . Pfad '[4] .... [0]'.

Ich habe hinzugefügt, dies zu meinem Startup.cs:

services.AddMvc() 
    .AddJsonOptions(opt => 
     opt.SerializerSettings.ReferenceLoopHandling = 
      ReferenceLoopHandling.Ignore 
    ); 

Was sonst die Referenzschleifenfehler verursachen könnte?

EDIT: Antwort in den Kommentaren zu hinterfragen ... Die betroffenen Klassen sind:

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; } 
} 
+0

Zeigen Sie die Definition der betreffenden Klasse mit – Nkosi

+0

@Nkosi Antwort auf die Frage – mJay

+0

Mögliche Duplikat von [JSON.NET Fehlern Selbstschleife für Typen erkannt Referenzierung] (https: //stackoverflow.com/questions/7397207/json-net-error-self-referencing-loop-detected-for-type) –

Antwort

1

ich die Lösung gefunden, die

[JsonIgnore] 

Anmerkung in die betroffene Eigenschaft hinzuzufügen ist. Allerdings habe ich erwartet, dass dies nicht notwendig wäre, wenn ReferenceLoopHandling.Ignore