使用EF Core撤回具有复杂密钥的子实体

时间:2019-12-19 22:52:56

标签: entity-framework entity-framework-core

给出以下简单的POCO ...

public class Document
{
    [Key]
    public int DocumentId { get; set; }
    public List<Comment> Comments { get; set; }
}

public class Comment
{
    [Key]
    public int CommentId { get; set; }
    public int TableTypeId { get; set; }
    public int EntityId { get; set; }
}

我想使用EF Core查询文档并用类似...的方式混合注释。

var docs = _dbContext.Documents.Include(x => x.Comments)
                               .ToList();

此注释表的工作方式,我将编写以下sql来检索它们(这是一个旧系统,数据模型就是它的样子,我无法更改它)。 35是父文档的DocumentId。

select * from Comments where TableTypeId = 620 and EntityId = 35

有人可以告诉我将注释作为文档的一部分拉回的EF代码/属性吗?

这是我正在使用的DbContext ...

public class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions options) : base(options) { }

    public DbSet<Documents> Documents { get; set; }
    public DbSet<Comments> Comments { get; set; }
}

0 个答案:

没有答案