LINQ return 具有多对一关系的两个表之间的混合日期

LINQ return Mixed Date Between Two Tables With Many-To-One Relation

我正在尝试 return 查看 2 table 之间的混合结果,它们之间存在多对一关系。我知道这是可能的,但我仍处于编程世界的初级阶段,所以我需要一些帮助来做到这一点!

注意:如果在LINQ中查询会更好

这是我的视图模型:

 public class HomeVM
    {

        public List<Post> Comics { set; get; }
        public List<Post> UpdatedComics { set; get; }
        public List<Post> Manga { set; get; }
        public List<Post> UpdatedManga { set; get; }
        public List<Post> Trending { set; get; }
        public IList<Chapter> Chapter{ set; get; }
}

这里是 Post Table:

public Post()
    {
        Chapter = new HashSet<Chapter>();
    }

    public int PostID { get; set; }

    [Display(Name = "Title")]
    [Required]
    [StringLength(150)]
    public string Name { get; set; }

    [AllowHtml]
    [Display(Name = "Description")]
    [Column(TypeName = "text")]
    public string Description { get; set; }

    public virtual ICollection<Chapter> Chapter { get; set; }

这是第 Table 章:

[Table("Chapter")]
public partial class Chapter
{
    public int ChapterID { get; set; }

    [Display(Name = "Chapter Name")]
    [StringLength(150)]
    public string ChapterName { get; set; }

    [Display(Name = "Chapter Slug")]
    [StringLength(150)]
    public string ChapterSlug { get; set; }

    [Required]
    [Display(Name = "Chapter Number")]
    public double ChapterNumber { get; set; }

    [Display(Name = "Post Id")]
    public int PostID { get; set; }

    public virtual Post Post { get; set; }
  }

如您所见,那是我的视图模型,只是 Post Table 和章节 table 之间存在一种关系,其中从章节的一边到另一边有很多关系。它们之间的锻造密钥也称为 PostID.

现在我想 return 从我的控制器到我的视图 table 的混合日期,但我不知道如何编写 LINQ 查询来执行此操作,因为数据混合并且我不能 return 在我的视图模型中混合数据。那么我该如何解决这个问题。

如果您想要 table Post 中的所有对象: _repository() 是 IRepository

using( var repository = _repository() )
{
   var postObjectList = await repository().Get<Post>.Where(_if you need 
   conditions_).Include( a => 
   a.Chapter).ToListAsync();
}

这将为您提供所有 Post 个具有 Where 子句条件的对象,包括章节。另一个 table.

的结构相同

请参阅 IRepository、异步方法、await/task。如果您是新手,请首先查看结果。

祝你好运!