У меня есть таблица MinionLeaders
с отношением один ко многим с таблицей Minions
.Миньон может вести n-миньонов или сам, если у него нет члена.
Проблема в том, что когда я пытался получить список лидеров миньонов с его членами как json, он возвращает неорганизованный-незаконченный json:
[
{
"LeaderID":"ABCD000000000001",
"Name":"Foo",
"Members":
this>>>>>> [
{
"ID":"EEEE000000000001",
"Name":"Fubar",
"LeaderID":"ABCD000000000001"
Кроме того, сервер выдает ошибку:
Newtonsoft.Json.JsonSerializationException: Self referencing loop detected for property 'minionLeader' with type 'rt5_app.Models.MinionLeaders'. Path '[0].Members[0]'.
Как правильно вернуть данные?
А вот как я получаю данные из базы данных MinionLeadersRepository.cs
:
public async Task<IEnumerable<MinionLeaders>> ListAsync()
{
return await context.MinionLeaders.Include(p => p.Members)
.ToListAsync();
}
ApiController.cs
:
public async Task<IEnumerable<MinionLeaders>> ListAsync()
{
return await _minionLeaders.ListAsync();
}
MinionLeadersModel.cs
public class MinionLeaders
{
[Key]
[MinLength(16)]
[MaxLength(16)]
public string LeaderID { get; set; }
[MinLength(16)]
[MaxLength(16)]
public string Name { get; set; }
public virtual List<Minion> Members { get; set; }
}