1

I tried this code in my controller Can any one show me the solution:

public JsonResult GetMembers(Member member)
{
    //var list = repository.GetAll().Select(x => new ViewModel.MemberView
    //{
    //    Memberid = x.id,
    //    Name = x.name,
    //    EmailAddress = x.Email,
    //    Role = x.role.rolename,
    //    ReportingRoleId = Convert.ToInt32(x.reportingroleid)
    //});

    var list = repository.GetAll();
    return Json(list  , JsonRequestBehavior.AllowGet);
}

javascript function

<script type="text/javascript">
    debugger;
    alert('first');
    google.load("visualization", "1", {packages:["orgchart"]});
    google.setOnLoadCallback(drawChart);
    function drawChart() {
        $.ajax({
            type: "POST",
            url: "/Organization/GetMembers",
            data :'{member:"+JSON.stringify(member)+"}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {

                alert("Member Name"+data);
        //var data = new google.visualization.DataTable();
        //data.addColumn('string','name');
        //data.addColumn('string', 'role');
        //data.addColumn('string', 'ToolTip');

        //for (var i  = 0; i < r.length; i++) {
        //    var memberId = r[i][0];
        //    var Name = r[i][1];
        //    var role= r[i][2];
        //    var reportingrole= r[i][3] != null ? r[i][3].toString() : '';
        //    data.addRows([[{
        //        v: employeeId,
        //        f: Name + '<div>(<span>' + role + '</span>)</div><img src = "/Pictures/' + memberId + '.jpg" />'
        //    }, reportingrole, role]]);
        //}
        //        var chart = new google.visualization.OrgChart($("#chart")[0]);
        //        chart.draw(data, { allowHtml: true });
            },
            failure: function (r) {
                alert(r);
            },
            error: function (r) {
                alert(r);
            }
        });
}

It was Error

A circular reference was detected while serializing an object of type 'System.Data.Entity.DynamicProxies.NewProjects_A3B55EADDAEF6C59245BBD2495E29ECFE10B583596DB24AADF23A4990342D104'.

quant
  • 2,184
  • 2
  • 19
  • 29
hira shah
  • 23
  • 1
  • 4

2 Answers2

3

I had the same error, but this is worked for me, this is when you want to select

public MyDbContext()   : base("name=MyDbContext"){this.Configuration.ProxyCreationEnabled = false;}

before you call yout table use this this.Configuration.ProxyCreationEnabled = false;

0

You should convert your data to list before returning it. EF return proxies for lazy loading and stuff. Try below code.

var list = repository.GetAll().ToList();

Also Look at this.

Why is EF returning a proxy class instead of the actual entity?

Rishi Shah
  • 46
  • 6