E.F 核心不 return 所有值 当包含另一个 table

E.F Core does not return all values When Include another table

   public IEnumerable<Parties> GetAll()
    {
        return database.Parties;
    }

效果很好,输出是:

但是当我像这样通过外键包含另一个 table 时:

  public IEnumerable<Parties> GetAll()
    {
        return database.Parties.Include(i=>i.User);
    }

它不起作用,它 returns table 的第一个值,没有别的,输出是:

Users.cs :

  public partial class Users
{
    public Users()
    {
        Parties = new HashSet<Parties>();
        PartyParticipants = new HashSet<PartyParticipants>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }
    public string Username { get; set; }
    public string Email { get; set; }
    public string Avatar { get; set; }
    public string Biography { get; set; }
    public string Password { get; set; }

    public virtual ICollection<Parties> Parties { get; set; }
    public virtual ICollection<PartyParticipants> PartyParticipants { get; set; }
}

Parties.cs :

  public partial class Parties
{
    public Parties()
    {
        Image = new HashSet<Image>();
        PartyParticipants = new HashSet<PartyParticipants>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime PartyDate { get; set; }
    public DateTime CreatedDate { get; set; }
    public int ParticipantCount { get; set; }
    public int MaxParticipant { get; set; }
    public string PartySplash { get; set; }
    public string ShortDescription { get; set; }
    public string Description { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    public bool EntranceFree { get; set; }
    public int? FreeParticipant { get; set; }
    public int? FreeParticipantMax { get; set; }
    public int UserId { get; set; }

    public virtual Users User { get; set; }
    public virtual ICollection<Image> Image { get; set; }
    public virtual ICollection<PartyParticipants> PartyParticipants { get; set; }
}

正如您在第二张图片中看到的那样,它在 table 的第一行中断。

我根据 Vidmantas 的评论添加了这个答案。 ReferenceLoopHandling 应该像这样在 startup.cs 中被忽略:

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