2016-04-26 9 views
0

Welchen Zweck haben die Attributeinstellungen für die Model-Eigenschaft?Zweck der Attributeinstellungen für die Eigenschaft

ich über subproducer gelesen haben und möchte erreichen, was hier beschrieben wurde: http://www.softfluent.com/product/codefluent-entities/knowledge-center/how-to-add-attributes-to-codefluent-generated-properties

Der Versuch, XML-Attribute auf einer Eigenschaft festlegen würde ändern, würden aber nicht von BOM Hersteller abgeholt bekommen, gibt es keinen Grund, warum ?

Im folgenden Beispiel erwartete ich eine Dekoration über meiner MyProperty-Eigenschaft, aber es ist nicht passiert.

Vielen Dank für Ihre Antwort,

<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> 

Antwort

1

Attribute von den BOM Herstellern verwendet werden. Sie haben jedoch eine context eingestellt, die nicht Ihren Bedürfnissen entspricht. Tatsächlich ist die Eigenschaft eine Beziehungseigenschaft, also müssen Sie context="ToOneRelationKeyProperty, ToOneRelationProperty, ToManyRelationProperty, RelationProperties" (Sie können nur einen dieser Werte behalten) oder den Standardwert verwenden.

<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> 

Der BOM Produzent erzeugt:

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

Vielen Dank für diese Antwort, ich nicht bewusst über die Kontextdefinition war. –

Verwandte Themen