System.Data.Entity.DynamicProxies - PullRequest
       3

System.Data.Entity.DynamicProxies

0 голосов
/ 09 ноября 2018

Я попробовал этот код в моем контроллере. Может ли кто-нибудь показать мне решение:

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

<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);
            }
        });
}

Это была ошибка

Обнаружена циклическая ссылка при сериализации объекта типа 'System.Data.Entity.DynamicProxies.NewProjects_A3B55EADDAEF6C59245BBD2495E29ECFE10B583596DB24AADF23A4990342D104'.

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

У меня была такая же ошибка, но это работает для меня, это когда вы хотите выбрать

public MyDbContext()   : base("name=MyDbContext"){this.Configuration.ProxyCreationEnabled = false;}
0 голосов
/ 09 ноября 2018

Вы должны преобразовать свои данные в список перед возвратом.EF вернуть прокси для ленивой загрузки и прочее.Попробуйте следующий код:

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

Также посмотрите на это.

Почему EF возвращает прокси-класс вместо фактической сущности?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...