工作流程中的枚举用法

时间:2019-05-16 09:00:21

标签: c#

我有一个名为Status的“ Person”实体,与该Status实体相关;该关系是一对一的,所以我有:

------------------
Person |  StatusID  
------------------
Mary   |  1  
Mat    |  1  
Billy  |  2  

------------------
ID  |  StatusDescr  
------------------
1   |  Normal  
2   |  Strong  
3   |  Old  
4   |  New  

我有一个工作流,在某些情况下,“人”表的StatusID将从1更改为2,或从“正常”更改为“强”。我已经在我的代码中为Status表创建了一个枚举,在我的工作流中,我设置了具有正确枚举的人员的StatusID。

我发现的问题有两个:
1)如果“强”状态具有不同的ID(从Dev到Prod可以更改),我将为目标人员设置错误的StatusID(如果我在搜索中使用ID)
2)如果状态更改名称很强,我将为目标人员设置错误的StatusID(如果我在搜索中使用StatusDescr)

我找到的第一个解决方案是创建另一个表,以将StatusTable的ID与代表我的工作流程的field(WF)关联起来。

--------------------
StatusID | WF  
--------------------
2        | Strong_WF  

第二种解决方案是添加一个新的位列(IsWF),该列表示在我的工作流程中使用该状态的可能性。

-----------------------------
ID  |   StatusDescr  |  IsWF  
-----------------------------
1   | Normal         | 0  
2   | Strong         | 1  
3   | Old            | 0  
4   | New            | 0  

我可以使用另一种解决方案吗?

0 个答案:

没有答案