【问题标题】:Asp.net core mvc update after approvalasp.net core mvc 审核通过后更新
【发布时间】:2020-11-18 06:25:47
【问题描述】:

我有两张桌子 一个拥有所有员工信息 第二个类似日志或更改历史记录

我想做的是

员工可以更新他的信息,但不会更新主表,除非经理批准更改,当经理批准更改时,它将更新包含所有员工信息的主表

我怎么能做到这一点,请 请注意,我是初学者 在 asp.net core MVC & Entity framework core中

谢谢。

【问题讨论】:

    标签: .net entity-framework-core requirements


    【解决方案1】:

    最简单的方法是:

    1. 在您的代码中创建第二个类,您可以从员工继承,我们称之为 EmployeeAproval
    2. 当需要进行更改时,找到未批准的最新更改请求并加载它,或者,将员工数据复制到新的 EmployeeAproval 实例中,在屏幕上显示该实例。
    3. 保存对 EmployeeAproval 类所做的更改,EF 会为您将其保存在表中。 4、如果经理没有待批准的变更,请通知经理他有待处理的更改(不要轰炸他们不喜欢工作的经理)。
    4. 经理批准更改,然后将 EmployeeAproval 转换为 Employee 实例并保存它或找到批准的版本,复制更改并保存。
    5. 通知 Employee 实例更改已获批准。

    这是最简单的方法。

    困难的方法是设置批准的日期时间并复制记录,确保您加入最新批准的条目等...一旦您在 3 年内交出代码,维护就会变得一团糟;-)

    【讨论】:

      【解决方案2】:

      也许您可以分享有关您在历史中保留的内容的更多详细信息,可能有助于提供有关员工状态的信息(如果他们有需要批准的未保存数据等)

      您可以使用一些中间表来保存未保存的员工数据。然后可能会在员工身上添加一个标志,该标志具有未保存的更改(这样经理也知道哪些行正在寻找批准),并且一旦获得批准,就会使用中间表中的数据更新条目。

      也可以是其他选项,但您需要考虑如果经理拒绝更改会发生什么。 (以上情况不影响数据)

      【讨论】:

      • 将更改添加到批准表是一个很好的更改跟踪记录,并且连接显示更改正在等待。添加字段和标志需要在EF模型中维护和索引,在数据库中维护。
      • 是的,正是我的想法,感谢您填写详细信息
      猜你喜欢
      • 2020-05-17
      • 1970-01-01
      • 2021-05-19
      • 2023-03-25
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-04-22
      相关资源
      最近更新 更多