2017-02-18 45 views
-1

我創建了兩個類「Candidat」和「Experience」。考生可以有許多經驗檢測到循環參考的JSON序列化

public class Consultant 
{ 
    public int ConsultantID { get; set; } 
    public string ConsultantNom { get; set; } 
    public string ConsultantPrenom { get; set; } 
    public string ConsultantTitre { get; set; } 
    public Disponibilite ConsultantDisponibilite { get; set; } 
    public virtual ICollection<Experience> Experiences { get; set; } 

} 

public class Experience 
{ 
    public int ExperienceID { get; set; } 
    public virtual Consultant Consultant { get; set; } 
    public int ConsultantID { get; set; } 
    public string ExperienceNomSociete { get; set; } 
    public string ExperiencePoste { get; set; } 
    public DateTime ExperienceDebut { get; set; } 
    public DateTime ExperienceFin { get; set; } 
    public string ExperienceCompetences { get; set; } 

在我的控制器,當我搜索的所有候選人我所著的代碼

public JsonResult ConsultantsList() 
    { 

     var consultants = from c in _consultantRepository.getConsultants() 
          select c; 

     return Json(consultants, JsonRequestBehavior.AllowGet); 
    } 

問題是,當我把一個破發點我收到的結果,但在我頁面存在問題「在序列化類型爲」的對象時檢測到循環引用「。

我這是怎麼分析數據使用jQuery:

function PopulateConsultantList() { 
     $.ajax({ 
      type: "GET", 
      url: "/Consultants/ConsultantsList", 
      success: function (data) { 
       console.log(data); 
       var json = $.parseJSON(JSON.stringify(data)); 
       console.log(json); 
       var corpsTR = ''; 
       $.each(json, function (i, item) { 
        corpsTR += '<tr><td>' + item.ConsultantPrenom + " " + item.ConsultantNom + '</td>' 
         + '<td>' + item.ConsultantTitre + '</td>' 
         + '<td>Immédiate</td>' 
         + '<td><a href="/Consultants/Details/' + item.ConsultantID + '" class="btn btn-default btn-icon"><i class="fa fa-file-text-o"></i></a>&nbsp;<a href="/Consultants/Delete/' + item.ConsultantID + '" class="btn btn-danger btn-icon"><i class="fa fa-trash-o"></i></a></td></tr>'; 
       }); 
       $("tbody").append(corpsTR); 
      } 
     }); 
    } 

PS:當經驗是空的,沒有任何問題發出。 謝謝

+0

你只需要4個屬性來創建一個只包含這4個屬性的匿名對象集合(當它甚至沒有使用時,沒有意思將所有額外的數據發送到客戶端) –

回答

0

從體驗中移除Consultant屬性,或向其添加JsonIgnore屬性。