我正在为我的投资组合创建一个类似于 Jira 的项目管理应用程序,用户可以在其中协作项目、创建票证、在票证上留下评论等。我正在设置实体关系,但我对如何设置实体关系有点困惑当涉及用户角色时设置它们。例如,每个User可以有很多项目,每个项目可以有很多User,这样就存在多对多的关系。但是,由于每个用户都需要为每个项目指定一个特定角色,因此我创建了第三个实体,名为 ProjectUser,它具有用户 id 和项目 id 的复合键,并包含角色属性。
项目中的用户可以创建票证,每个票证都有一个作者和一个受让人。这就是我感到困惑的地方。票证的作者和受让人应该是用户还是项目用户? ProjectUsers 表是否是为用户分配角色的正确方法?
我目前将作者和受让人作为用户,实体框架似乎喜欢这样。我创建了一个 ProjectParticipant 类,它是项目上用户的数据传输对象,其中应包含用户名、电子邮件、个人资料图片 url 和角色。但是,由于 User 实体不直接包含角色属性,因此当我使用 automapper 将 User 映射到 ProjectParticipant 时,它无法映射角色属性。有没有更好/正确的方法来建立这些关系?
这就是我感到困惑的地方。票证的作者和受让人应该是用户还是项目用户?
这不是技术建模问题。 两种设计都是有效的,并且对模型允许的数据更改都有影响。
如果分配工单的用户离开项目,工单的行为应该是什么?
您想要允许不在该项目中的用户获得票证吗?