Назначение настроек атрибутов для свойства
Какова цель параметров Атрибуты в свойстве Модель?
Я читал о 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