Информация об изменениях

Сообщение Re: Как искать причину такой ошибки? от 12.09.2023 20:19

Изменено 13.09.2023 8:26 尿컙拋㕪⬎⤇Ǥ꧃푙刾ꄔ൒

Re: Как искать причину такой ошибки?
скорее всего это ошибка возникающая при сериализации. что в свою очередь является следствием подхода, испольуземого при построения графа объектов, состоящих из более чем одного ентити/таблицы. решить можно либо похимичив с navigation свойствами, игнором либо заменой на анонимные типы или просто запретить сериалайзеру ходить по кругу. Удивлен видеть это безобразие неотключенным по умолчанию.

вот, тред, содержаюй возможные решения проблемы:

https://stackoverflow.com/questions/19467673/entity-framework-self-referencing-loop-detected

самое простое:

public void ConfigureServices(IServiceCollection services)
{

services.AddMvc(options =>
{
options.OutputFormatters.Clear();
options.OutputFormatters.Add(new JsonOutputFormatter(new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
}, ArrayPool<char>.Shared));
});

//...
}
Re: Как искать причину такой ошибки?
скорее всего это ошибка возникающая при сериализации. что в свою очередь является следствием подхода, испольуземого при построения графа объектов, состоящих из более чем одного ентити/таблицы. решить можно либо похимичив с navigation свойствами, игнором либо заменой на анонимные типы или просто запретить сериалайзеру ходить по кругу. Удивлен видеть это безобразие неотключенным по умолчанию.

вот, тред, содержаюй возможные решения проблемы:

https://stackoverflow.com/questions/19467673/entity-framework-self-referencing-loop-detected

самое простое:

public void ConfigureServices(IServiceCollection services)
    {

        services.AddMvc(options =>
        {
            options.OutputFormatters.Clear();
            options.OutputFormatters.Add(new JsonOutputFormatter(new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
            }, ArrayPool<char>.Shared));
        });

        //...
    }