如何在轻量级实体中为数据库视图生成可为空的属性?

时间:2017-07-23 15:06:38

标签: codefluent

我的模型包含以下实体:

<cf:entity name="SomeEntity">
  <cf:property name="Id" key="true" />
  <cf:property name="SomeDate" typeName="date?" />

  <cf:view name="SomeEntitySummary" autoLightweight="true" checkLevel="none">
    <cf:viewProperty name="Id" />
    <cf:viewProperty name="SomeDate" nullable="true" typeName="date?" />
  </cf:view>
</cf:entity>

SomeEntity类的生成代码包含类型为

的SomeDate属性
Nullable<DateTime>

但是,SomeEntitySummary类生成的代码包含DateTime类型的SomeDate属性,并且不可为空。

如何在为数据库视图生成的轻量级实体中生成可为空的属性?

1 个答案:

答案 0 :(得分:0)

CodeFluent实体从实体的属性推断视图。因此,如果属性可以为空,则视图的属性也应该可以为空。但是,似乎存在一个小问题,因此您必须明确地将该属性声明为modelNullable(建模者生成正确的xml)。

以下模型确实在DateTime?类中生成SomeView属性:

<cf:entity name="Customer">
  <cf:property name="Id" key="true" />
  <cf:property name="Name" />
  <cf:property name="SomeDate" modelNullable="true" typeName="date" />

  <cf:view autoLightweight="true" name="SomeView">
    <cf:viewProperty name="Id" />
    <cf:viewProperty name="SomeDate" />
  </cf:view>
</cf:entity>