我正在使用 Entity Framework 从数据库中检索博客数据。我有一个类“BlogPost”和一个类“作者”。一位作者可能有许多博客文章,但作者对象本身并不包含它们的列表。就 Author 对象而言,它独立于所有博客文章。
Author 类的一个实例作为属性包含在 BlogPost 中。每个作者都有一个 AuthorId。我想从我的数据库中提取一个给定的博客,并让 Author 对象填充相关数据。我已经设法通过在我的 BlogPost 类中包含 AuthorId 属性来做到这一点,使用以下代码来映射对象:
this.HasRequired(t => t.Author).WithMany().HasForeignKey(x => x.AuthorId);
然而,我想做的是能够做同样的事情,但不必将 AuthorId 属性直接包含在模型中。原因是,由于 Author 对象已经包含对应的 ID,因此我将同一条信息重复两次。我想按照以下方式做一些事情:
this.Property(t => t.Author.Id).HasColumnName("id_user");
this.HasRequired<TwitterUser>(t => t.Author).WithMany().HasForeignKey(t => t.Author.Id);
那么,有什么方法可以检索 Author 子对象,而不必将 AuthorID 冗余存储在 BlogPost 对象中以及 Author 对象本身?