gpt4 book ai didi

entity-framework - 具有各种用户角色的数据库设计和 EF 模型

转载 作者:行者123 更新时间:2023-12-01 04:03:17 25 4
gpt4 key购买 nike

我需要一些围绕项目管理系统进行数据库设计的指导。我的问题主要是关于我应该如何围绕各种角色设计列或表的功能。

系统将在 Users 表中有多个用户,在 Roles 表中有以下角色
(公司管理员、项目经理、主管、副主管、员工)

涉及的各种实体是用户、角色、用户角色映射、公司、项目

  • 一家公司有很多项目,并且有一个或多个公司管理员
  • 每个项目都有一个项目经理
  • 每个项目都有几个员工分配给它
  • 每个员工都有一个主管

  • 我正在寻找一个很好的数据库设计,可以很好地转换为 Entity Framework 模型。

    这是我想到的方法,并希望得到任何反馈:
    使用将提供用户、角色、UserRoleMapping 功能的默认 ASP.NET 成员身份。

    然后,使用来自 Membership 的基本用户表并创建特定于角色的表来存储各种用户:员工、公司管理员、主管

    更新二:请看下面的新图片。考虑使用每个层次结构的表将各种经理(公司的公司管理员、项目的项目经理、员工的主管)存储在同一个表中。
    你认为这是什么数据库设计,请建议这将如何用于实体模型?


    enter image description here

    另外,在另一个注意事项 - 您认为我连接项目、任务和员工的方式是否正确?

    谢谢。

    最佳答案

    员工 table 可以有多大?在他们作为管理员、主管或经理的角色中,所有这些都是员工(尽管他们可能有也可能没有主管)。一个员工可以被分配到多个项目吗?一个员工可以分配多个项目吗?就我而言,一名员工一次只能分配到一个项目(或者在某些员工的情况下,没有)。这允许我修改一个基本的员工对象,如下所示:
    EmpID
    [员工信息]
    SupervisorID(可以为 null 并且是一个员工 ID)
    AlternateSupervisorID(可以为 null 并且是一个员工 ID)|Project_ID(可以为 null)并且是一个 FK

    只有其他对象是具有 project_id PK 的项目。

    关于entity-framework - 具有各种用户角色的数据库设计和 EF 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11601158/

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