问题描述
我在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 (将#修改为@)