Click here to Skip to main content
15,882,388 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am having a list that each list item contain another list. On the time of render the column it will give me error "". I look a lot but not found any solution. Please help me to overcome by this issue.

Full Error is below
A circular reference was detected while serializing an object of type 'System.Data.Entity.DynamicProxies.tblPropertyDocument_C39281F23DAA0C224A777580A8038E1E55D91AF3EBEC9D53EF39EC1E6EAAAD0C'.

What I have tried:

Actually I have a list of objects and inside each object i have another list. When i will return data to the datatable it will generate the circular error due for the inner list items. I know why this problem occur but not get how to resolve it.
Below is my code:
var SelectedAllSending = AllSending1.Select(s => new OutgoingCommunicationVM()
dDate = s.dDate,
id =,
cDescription = s.tblDDLSelect.cDescription,
cSubject = s.cSubject,
Recipients = (from t in db.tblRecipients where (t.nMessageID == orderby t.cName select t).Take(3).ToList(),
TotalRecords = totalRecords,
PageCount = GetPageCountUSPS(, s.tblDDLSelect.cDescription),
EstimatedCost = GetCost(, s.tblDDLSelect.cDescription)

as you see in my code I have a list "SelectedAllSending" and inside this list I have another list by the name off "Recipients".

When i will return value to the datatable it will give me error. Below is my code.

return Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = SelectedAllSending }, JsonRequestBehavior.AllowGet);

object inside object gives circular error on json return. Or how i can pass list inside list in datatable.
please help me to overcome this issue.
Updated 20-Jul-17 0:43am

It worked for me

3 things require for resolvingcircular reference :

1. Apply [JsonIgnore] to navigational properties

2. In global.asax

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

3. serialize the data

string json = JsonConvert.SerializeObject(gridDataResult.GridData, Formatting.None);
return Json(json, JsonRequestBehavior.AllowGet);
Share this answer
Thanks Satya Prakash Swain for the response.

I worked according to your suggestion, this code resolve circular reference error but also make the inner list data to null. I need the inner list data as well.

Please help!
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900