Web API 加载相关数据

我正在使用 ASP CORE 2.1 和 EF CORE 创建带有 2 个数据表和 1 个外键的 Web API


模型:


 public partial class AuditInfo

{


    public int Id { get; set; }

    public string Level { get; set; }

    public string Period { get; set; }

    public string Auditor { get; set; }


    public virtual ICollection<Item> Items { get; set; }

}


  public partial class Item

{

    public int Id { get; set; }

    public string Ponumber { get; set; }

    public bool IsComplete { get; set; }


    public AuditInfo AuditInfo { get; set; }

}


public partial class VEDHOMEContext : DbContext

{

    public VEDHOMEContext()

    {


    }


    public VEDHOMEContext(DbContextOptions<VEDHOMEContext> options)

        : base(options)

    {


    }


    public virtual DbSet<AuditInfo> AuditInfo { get; set; }

    public virtual DbSet<Item> Item { get; set; }


    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

    {





    }


     protected override void OnModelCreating(ModelBuilder modelBuilder)

    {


        modelBuilder

            .HasAnnotation("ProductVersion", "2.1.1-rtm-30846")

            .HasAnnotation("Relational:MaxIdentifierLength", 128)

            .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);


        modelBuilder.Entity("auditAPI.Models.AuditInfo", b =>

        {

            b.Property<int>("Id")

                .ValueGeneratedOnAdd()

                .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);


            b.Property<string>("Auditor");


            b.Property<string>("Level");


            b.Property<string>("Period");


            b.HasKey("Id");


            b.ToTable("AuditInfo");

        });

侃侃尔雅
浏览 204回答 1
1回答

繁星coding

我不确定您是否已经看到了这个问题的公认答案,但问题在于 JSON Serializer 如何处理循环引用。可以在上面的链接中找到更多参考的完整详细信息和链接,我建议深入研究这些,但简而言之,添加以下内容startup.cs将配置序列化程序以忽略循环引用:services.AddMvc()&nbsp; &nbsp; .AddJsonOptions(options => {&nbsp; &nbsp; &nbsp; &nbsp; options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;&nbsp; &nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP