具有与另一个实体的多个关系的Hotchocolate GraphQL EF实体

问题描述

我在aspnet核心中使用EF和Hotchocolate构建了一个简单的GraphQL API,并且可以很好地处理实体之间的个体关系,例如。

咨询实体与客户具有一对多关系,与客户具有一对多关系,而计划与项目具有一对多关系,而项目又与任务,风险具有一对多关系,好处等。所有这些都非常简单。

所有当前都是简单实体,例如任务是:

{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int TaskId { get; set; }
    public string Title { get; set; }
    public int ProjectId { get; set; }

}

ProjectId是“父级”项目表等上的PK。

我还有一个“人”表来描述人,这些人与其他实体之间有着无数的关系。例如在Tasks实体中,它们可能是:

  • 创建者1-1
  • 最后编辑1-1
  • 负责人1-1
  • 负责人1-1
  • 分配给1-many
  • 报告为1-many

我可以猜到的前1-1个关系将与任务-项目关系相同,并通过在任务实体定义中添加Person属性来实现,因此并不难吗?如果我错了,请随时纠正m!

但是我确实受困于assignedto和reportedto。我假设这些是任务实体上的IQueriable<person>属性,可通过Graph将人员集合暴露给hotchocolate查询,但是我该如何管理1-many方面。

我假设任务和人员的PK分别需要具有1-1关系的中间表,但无法弄清楚如何获得Entity框架来实现它。

我已经尝试通过覆盖DBContext的OnModelCreating方法来研究使用ModelBuilder,但目前尚未解决

对不起,这对大多数人来说可能是母亲和苹果派,但只是让我对EF有所了解,但不完全是它在幕后所做的“神秘魔术”,使我看起来像是一个能干的程序员!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)