gpt4 book ai didi

c# - 以下关系的实体设计建议

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:08 25 4
gpt4 key购买 nike

我有以下业务案例需求:

  1. 我有一个项目数据库。
  2. 每个项目都会有几个人以不同的角色(项目负责人、支持人员等)与其相关联。
  3. 一个人可以在项目中扮演多个角色。
  4. 一个人在项目上的详细联系信息是在创建项目时捕获的,不应在为该人更新时为该项目更新。

我提出了以下数据库结构:

enter image description here

ContactDetails 目前计划为 1-1,但如果单个项目的多个人/角色映射可以共享一个 ContactDetail,则分开。

我的问题:通常,我会加载与我的项目相关的人员列表,他们担任各种角色。根据我布置的结构,我的实体在这里应该是什么样子:ProjectPerson 是否成为实体,而不只是交叉引用(正如它开始时那样)?

[更新]

包括我基于以下答案的新数据结构,以防对其他人有所帮助。按照建议。 enter image description here

最佳答案

我会将详细联系信息移到 ProjectPeople 中,然后将角色提取到一个与 ProjectPeople 具有一对多关系的单独表中。

要回答您的问题,是的,ProjectPerson 现在是您领域模型中的一个实体;事实上,我会说它一旦变得不仅仅是一个简单的多对多映射表就变成了一个。

我们有类似的结构,它带来了一些挑战。我对其进行建模,以便 Project 具有 ProjectPerson 的集合,而 Person 具有 Project 的只读集合。

关于c# - 以下关系的实体设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com