Как создать обнуляемое свойство в облегченном объекте для представления базы данных?

Моя модель содержит следующую сущность:

<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 содержит свойство SomeDate типа DateTime и не может иметь значения NULL.

Как я могу создать свойство обнуляемое в облегченном объекте, который создается для представления базы данных?

1 ответ

CodeFluent Entities выводят представления из свойств сущности. Таким образом, если свойство обнуляется, свойство представления также должно быть обнуляемым. Тем не менее, кажется, что есть небольшая проблема, поэтому вы должны объявить свойство как 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>
Другие вопросы по тегам