Ebaas

创建虚拟属性

May 20, 2020 | 0 Minute Read

与普通属性不同之处在于虚拟属性没有对应的数据库字段。虚拟属性的值是通过动态计算得出的。由于虚拟属性的值没有保存在数据库中,虚拟属性只能用于数据显示的用途,而不能像其它属性那样用于查询、修改、和排序等操作。

虚拟属性常用于在同一数据实例现有属性值的基础上计算出新的值。例如,“事务”数据类的“已提交天数”属性就可以使用虚拟属性实现。“已提交天数”表示该事务从提交日期起到今天的天数。所以该虚拟属性的值是当前日期减去“提交日期”的所得出的天数。

创建“已提交天数”属性

创建”已提交天数”的步骤如下:

  • 鼠标右键选择DesignStudio左边的“事务”数据类→在弹出条目拦单击“创建…”;
  • 弹出“添加新客体”输入框,选中“虚拟属性”,输入名称:ElapsedDays;显示名:已提交天数。如下图所示:


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

  • “数据类型”选择为:“String”
  • 设置虚拟属性的“程序”的方法为在参数设置中点击“程序”栏右边的“…”按钮,如下图所示:


在弹出的“虚拟属性程序窗口”,复制粘贴下面的代码(C#)到Eval方法中,如下图红框所示:

DateTime today = DateTime.Now; // 今天的日期
DateTime submitDate = instance.GetDateTime("SubmitDate"); // 获取提交日期
return (today - submitDate).Days.ToString();


注意: 不要修改Eval方法以代码的部分。


编译代码确认代码无误后,单击“确定”按钮,见下图:


属性的其它设置采用默认值。

“已提交天数”的虚拟属性创建完毕。

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