Как я могу вернуть объект JSON, в котором отношение многие ко многим (ядро .net) - PullRequest
0 голосов
/ 25 мая 2019

Я не могу вернуть объект JSON на мой интерфейс. Используйте asp.net core 2.0 WebApi

с _contex все хорошо, и подключите тоже. я вижу данные в отладке, но я так и не нашел, как их вернуть.


            var user = _context.Users.FirstOrDefault(u => u.Username == User.Identity.Name);

            var orders = _context.Orders
                .Where(o => o.UserId == user.Id)
                .Include(o => o.City)
                .Include(o => o.Products)
                    .ThenInclude(products => products.Product)
                .ToList();

            return new ObjectResult(new { orders = orders }) { StatusCode = 200 };

что я хочу увидеть на фронте:

{"orders": [
         {
             "orderId": "1"
             "orderCode":"SAJVLUHC",
             "products" : [pr1...prn]
         },{
             "orderId": "2"
             "orderCode":"SAJVLUHC",
             "products" : [pr1...prn]
        }
    ]
}

1 Ответ

0 голосов
/ 25 мая 2019

Если ваш заказ содержит продукт, а продукт содержит заказы, то при обработке циклических циклов может произойти сбой сериализации json. Вы можете попробовать это в вашей конфигурации:

services.AddMvc().AddJsonOptions(options =>
{
    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
});
...