属性的属性设置目的

时间:2016-04-26 15:27:23

标签: codefluent

Model属性上的Attributes设置的目的是什么?

我已经阅读过有关副产品的信息,并希望实现此处所述:http://www.softfluent.com/product/codefluent-entities/knowledge-center/how-to-add-attributes-to-codefluent-generated-properties

尝试在属性上设置属性会修改XML但不会被BOM生产者选中,是否有任何理由?

在下面的例子中,我希望在我的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 个答案:

答案 0 :(得分:1)

BOM生产者使用属性。但是,您设置的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