Назначение настроек атрибутов для свойства

Какова цель параметров Атрибуты в свойстве Модель?

Я читал о subproducer и хотел бы достичь того, что было описано здесь: http://www.softfluent.com/product/codefluent-entities/knowledge-center/how-to-add-attributes-to-codefluent-generated-properties

Попытка установить атрибуты для свойства изменила бы XML, но не была бы выбрана производителем спецификации, есть какая-то причина, почему?

В приведенном ниже примере я ожидал, что над моим свойством MyProperty будет украшение, но этого не произошло.

Спасибо за Ваш ответ,

<cf:property name="MyProperty" typeName="{0}.Namespace.MyEntity" relationSchema="Schema">
      <cf:attribute name="Newtonsoft.Json.JsonIgnore" context="Property" class="">
        <cf:argument name="arg1" expression="value1" />
      </cf:attribute>
    </cf:property>

1 ответ

Решение

Атрибуты используются производителем спецификации. Однако вы установили context это не соответствует вашим потребностям. Фактически свойство является отношением, поэтому вы должны использовать context="ToOneRelationKeyProperty, ToOneRelationProperty, ToManyRelationProperty, RelationProperties" (вы можете оставить только одно из этих значений) или значение по умолчанию.

<cf:entity name="Customer">
  <cf:property name="Id" key="true" />
  <cf:property name="Orders" typeName="OrderCollection">
    <cf:attribute name="Newtonsoft.Json.JsonIgnore" class="" context="RelationProperties">
      <cf:argument name="arg1" expression="value1" />
    </cf:attribute>
  </cf:property>
</cf:entity>

Производитель спецификации генерирует:

[Newtonsoft.Json.JsonIgnore(arg1=value1)]
public Model1.OrderCollection Orders
Другие вопросы по тегам