JsonException: обнаружен возможный цикл объектов, который не поддерживается. Это может произойти либо из-за цикла, либо C#

Место общения программистов C#
Ответить
Anonymous
 JsonException: обнаружен возможный цикл объектов, который не поддерживается. Это может произойти либо из-за цикла, либо

Сообщение Anonymous »

В моем веб-API, когда я запускаю проект для получения данных из базы данных, возникает эта ошибка
.net core 3.1

JsonException: возможное Обнаружен цикл объектов, который не поддерживается. Это может быть связано либо с циклом, либо с тем, что глубина объекта превышает максимально допустимую глубину 32.

Вот мои коды:
Моя модель

Код: Выделить всё

public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string ProductText { get; set; }
public int ProductCategoryId { get; set; }
[JsonIgnore]
public virtual ProductCategory ProductCategory { get; set; }
}
Мой класс productCategory:

Код: Выделить всё

public class ProductCategory
{
public int Id { get; set; }
public string Name { get; set; }
public string CatText { get; set; }
public string ImagePath { get; set; }
public int Priority { get; set; }
public int Viewd { get; set; }
public string Description { get; set; }
public bool Active { get; set; }
public DateTime CreateDate { get; set; }
public DateTime ModifyDate { get; set; }
public virtual ICollection
 Products { get; set; }
}
Мой репозиторий

Код: Выделить всё

public async Task GetAllProductAsync()
{
return await  _context.Products.Include(p => p.ProductCategory).ToListAsync();
}
Мой интерфейс

Код: Выделить всё

public interface IProductRepository
{
...
Task GetAllProductAsync();
...
}
и это мой контроллер в проекте API

Код: Выделить всё

[Route("api/[controller]")]
[ApiController]
public class ProductsController : ControllerBase
{
private readonly IProductRepository _productRepository;

public ProductsController(IProductRepository productRepository)
{
_productRepository = productRepository;
}
[HttpGet]
public ActionResult Get()
{
return Ok(_productRepository.GetAllProduct());
}
}
Когда я запускаю проект API и помещаю этот URL-адрес: https://localhost:44397/api/products
Я получил эту ошибку,
Я не могу ее устранить это.

Подробнее здесь: https://stackoverflow.com/questions/601 ... orted-this
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»