Есть два вот таких класса:
public class A
{
[Required]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Description { get; set; }
public List<B> B { get; set; }
public List<C> C { get; set; }
public A()
{
B = new List<B>();
C = new List<C>();
}
}
public class B
{
[Required]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Description { get; set; }
public List<D> D { get; set; }
public List<E> E { get; set; }
[Required]
public int AId { get; set; }
public A A { get; set; }
public B()
{
D = new List<D>();
E = new List<E>();
}
}
Использую вот такую подгрузку:
A a = await _context.A
.Include(d => d.B).Include(d => d.C)
.FirstAsync(d => d.Id == id);
При возврате полученного значения, получаю зацикливание, т.е. класс A подгружает класс B, а класс B в свою очередь опять подгружает A, а A опять B и тд.
Вот пример результата:
{
"code": 0,
"error": null,
"data": {
"id": 2,
"name": "abc",
"description": "The",
"B": [
{
"id": 2,
"name": "ABC",
"description": "The",
"D": null,
"E": null,
"AId": 2,
"A": {
"id": 2,
"name": "abc",
"description": "The",
"B": [