.net 部署后修改关键业务实体

.net 部署后修改关键业务实体,.net,.net,各位, 在我们最近部署的分层.Net解决方案中,我们现在意识到我们需要满足某些业务对象处于未确认/已确认状态的需求。某类系统用户现在应该能够在未确认状态下创建此业务实体。在设置为“确认”之前,实体对现有系统和存储库等不可见。 业务对象在整个解决方案中用于查找和其他功能。存储实体的底层SQL表在报表存储过程和视图等中引用。 有谁能建议如何最好地纳入这样的变化?选项可能包括向类/表中添加二进制标志,或者可能将新的未确认实例存储在单独的表中,并在确认后移动到“活动”表中。出于以下几个原因,我会将其存储

各位, 在我们最近部署的分层.Net解决方案中,我们现在意识到我们需要满足某些业务对象处于未确认/已确认状态的需求。某类系统用户现在应该能够在未确认状态下创建此业务实体。在设置为“确认”之前,实体对现有系统和存储库等不可见。 业务对象在整个解决方案中用于查找和其他功能。存储实体的底层SQL表在报表存储过程和视图等中引用。
有谁能建议如何最好地纳入这样的变化?选项可能包括向类/表中添加二进制标志,或者可能将新的未确认实例存储在单独的表中,并在确认后移动到“活动”表中。

出于以下几个原因,我会将其存储在单独的表中:

  • 未确认项具有不同的业务规则,因此它们应在您的域中作为单独的概念处理
  • 如果您需要另一个状态,二进制标志方法将不可伸缩,而单独表方法将可伸缩
  • 改装应用程序的查找和其他功能以检查未确认/已确认状态将非常繁琐,并且容易出错

  • 出于以下几个原因,我会将其存储在单独的表中:

  • 未确认项具有不同的业务规则,因此它们应在您的域中作为单独的概念处理
  • 如果您需要另一个状态,二进制标志方法将不可伸缩,而单独表方法将可伸缩
  • 改装应用程序的查找和其他功能以检查未确认/已确认状态将非常繁琐,并且容易出错

  • 您可以将未确认的实体存储在一种暂存表中,一旦实体得到确认,它将被移动到现有表中,并且不会影响依赖现有实体表的任何当前操作


    我还将创建一个全新/不同的类来表示这个实体(“UnconfirmedEntity”),它也映射到这个新表,然后您可以构建某种“确认”的服务此实体并将其从未确认表中删除到现有已确认表中。

    您可以将未确认实体存储在一种暂存表中,一旦实体被确认,它将被移动到现有表中,并且不会影响依赖现有实体表的任何当前操作

    我还将创建一个全新/不同的类来表示这个实体(“UnconfirmedEntity”),它也映射到这个新表,然后您可以构建某种服务来“确认”这个实体,并将它从unconfirmed表删除到现有的confirmed表