2016-04-26 2 views
0

Какова цель настроек атрибутов свойства Model?Назначение параметров атрибутов в свойстве

Я читал о 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> 

Производитель BOM генерирует:

[Newtonsoft.Json.JsonIgnore(arg1=value1)] 
public Model1.OrderCollection Orders 
+0

Спасибо за этот ответ, я не знал об определении контекста. –

Смежные вопросы