2017-06-19 3 views
0

Ich rufe eine Methode, die eine Entität mit ziemlich einem Feld untergeordneten Entität zurückgibt. Ich brauche die untergeordnete Entität nicht, aber weil sie in Beziehung sind, kann ich nicht davon rippen.Jquery Database JSON-Fehler

Ich bekomme die Antwort richtig, wenn ich die JSON-Daten überprüfe. Aber wenn ich einen Haltepunkt bei Datentabelle setzen. VON CHAR

`

$('#serviceTB').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     destroy: true, 
     searching: true, 
     "info": true, 
     "pageLength": 10, 
     "lengthMenu": [[10, 20, 50, -1], [10, 20, 50, "All"]], 
     "sDom": "<'top'f>rt<'fluid-row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>><'fluid-row'<'col-md-12 col-sm-12'<'pull-right'l>>>", 
     "columns": [ 
      { "data": "article_number", "orderable": true, "searchable": true }, 
       { "data": "serial_number", "orderable": true, "searchable": true }, 
      { "data": "description", "orderable": false, "searchable": false }, 
      { "data": "Purchase_date", "orderable": true, "searchable": false }, 
      { "data": "rental_agreement", "orderable": false, "searchable": true }, 
      { "data": "service_agreement", "orderable": false, "searchable": true }, 
       { "data": "Warranty", "orderable": true, "searchable": true }, 
      /* EDIT */ { 
       mRender: function (data, type, row) { 
        debugger 



       } 
      }, 
     ], "ajax": { 
      "url": "@Url.Action("GetMachineOwnerByType", "WMFMachine")", 

      "type": "GET" 
     } 
    }); 
}` 

Unten ist mein json Ergebnis

mRender: function (data, type, row) { 

die Reihe json Daten CHAR wird Schleifen, die alle Felder der jquery erforderlich enthält

public JsonResult GetMachineOwnerByType(int draw, int start, int length, string searchstring = "", string orderstring = "", int ordercol = 0) 
    { 

     string search = Request.QueryString["search[value]"]; 
     string order = Request.QueryString["order[0][dir]"]; 
     int sortColumn = int.Parse(Request.QueryString["order[0][column]"]); 
     searchstring = search; 
     orderstring = order; 
     ordercol = sortColumn; 
     var result = service.GetListWMFMachineByType(draw, start, length, searchstring, orderstring, ordercol, "M");//mylogic to get the Model 

     return new JsonResult { Data = result, MaxJsonLength = Int32.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
    } 

` Modell CLass

public class JsonTableModel 
{ 

    public int draw { get; set; } 
    public int recordsTotal { get; set; } 
    public int recordsFiltered { get; set; } 
    public object data { get; set; } 

} 

Logik

dt.data = JsonConvert.SerializeObject(mymodel, Formatting.None, 
     new JsonSerializerSettings() 
     { 
      ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore, 
      PreserveReferencesHandling = PreserveReferencesHandling.None 

     }); 

Antwort

0

OK gelöst. Ich schalte die

db.Configuration.ProxyCreationEnabled = false; 

ich weiß nicht, ist es der richtige Weg. aber es löste das Problem. Ich habe dieses Problem seit 6 Stunden untersucht.

nach dem Ausschalten. Ich werfe nur die ursprüngliche Entität ein und habe keine Serialisierung mit dem Objekt durchgeführt.