Ebaas

创建条目约束的属性

May 17, 2020 | 0 Minute Read

条目约束的属性与枚举约束的属性类似,是指该属性的值只能一个值的集合中选取。不同的是条目值的集合是由一个函数动态生成的,而不是静态定义的枚举值。例如,“事务”数据类的“提交人”和“处理人”属性就可以定义为条目约束的属性,而这个条目的函数返回所有使用系统的用户名称。这样,我们就可以从系统数据库的用户表中选择事务的提交人和处理人,而不是将用户名称定义为静态的枚举值。

创建条目约束

我们将创建一个条目约束,叫做“事务用户”(英文名为IssueUsers),作为“事务提交人”和“事务处理人”属性的约束条件。在实际应用中,建议您为“事务提交人”和“事务处理人”分别创建一个条目约束并定义不同的函数或过滤条件。这样可以使得“事务提交人”和“事务处理人”的条目值有所不同。

创建条目约束的具体步骤为:

  • 鼠标右键选择DesignStudio左边的“数据约束”文件夹 => 单击“创建…”;
  • 在弹出“添加新客体”窗口中选中“条目约束”,输入名称:IssueUsers;显示名:事务用户。如下图所示:


点击“确定”按钮,创建了一个“事务用户”条目约束,“事务用户”参数设置栏中做如下设置:

• 数据类型选择为:String
• 将下面的条目生成器代码复制粘贴到“生成器名”的文本框中。该生成器是系统提供的条目生成器,它返回系统的所有用户名。

Newtera.Common.MetaData.UsersListHandler,Newtera.Common

最后设置结果如下图所示:


提示: 生成器代码中,Newtera.Common.MetaData.UsersListHandler定义生成器的C#类名,Newtera.Common为包含该生成器的DLL名称。


创建“提交人”属性

接下来,在“事务”数据类中创建“提交人”属性,并选择“事务用户”条目约束作为其约束。步骤如下:

右键单击“事务”数据类→选择“创建”,从“添加新客体”选择“普通属性”,输入名称:SubmitBy,显示名:提交人,见下图:


单击“确认”按钮,并对其作如下参数设置:
• “数据类型”在选择约束条件时会自动设置为约束条件的数据类型。
• “是否必要”选择为“true”
• 其它设置采用默认值
• 属性约束设置为:事务用户(List)。”参数设置“栏中,点击”属性约束“最右边的“…”按钮,见下图:


在弹出的”选择数据约束条件“框中,选中”事务用户“,点击”确认“按钮完成,加下图:


设置完毕后的结果见下图:


到此,事务提交人属性约束设置完毕。

创建“处理人”属性

接下来,在“事务”类中创建“处理人”属性,并选择“事务用户”条目作为其约束。步骤如下: 创建事务处理人普通属性步骤:

  • 右键单击“事务”数据类→选择“创建…”;
  • 从“添加新客体”选择“普通属性”,输入名称:Owner,显示名:处理人,见下图:


单击“确认”按钮,并对其作如下参数设置:

• “数据类型”在选择约束条件时会自动设置为约束条件的数据类型。
• 其它设置采用默认值
• 属性约束设置为:事务用户(List)。“参数设置”栏中,点击”属性约束“最右边的“…”按钮,见下图:


在弹出的”选择数据约束条件“框中,选中”事务用户“条目,点击”确认“按钮完成,加下图:


最终结果见下图:


到此,我们创建了“事务提交人”和“事务处理人”两个基于条目约束的属性。

请点击左下方的链接回到上一个教程,点击右下方的链接进入下一个教程。如果要暂停学习下一个教程,请注意保存数据模型到数据库。