From af03bc0360463c53445278ed4a59df3a5eeda107 Mon Sep 17 00:00:00 2001 From: Adeel Ahmad Date: Fri, 5 Dec 2025 08:47:15 +0100 Subject: [PATCH 1/7] Added doc. for collection(primitive) attr. support --- .../call-external-action.md | 12 +++++++ .../consumed-odata-service-requirements.md | 32 ++++++++++++------- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index 702278bea92..91fc1dd50ae 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -55,6 +55,10 @@ The **Output** section shows what the action returns and allows you to rename it If the action returns an entity that has associations, you can select the associations that you want to have populated in the resulting variable. You can then use the **Retrieve object(s)** activity to retrieve the associated objects over the association. +{{% alert color="info" %}} +The support for OData actions that return entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). +{{% /alert %}} + ## Documentation Tab {#public-documentation} In the **Documentation** tab, you can find a **Summary** and a **Description**. These fields contain public documentation provided by the author of the service. @@ -81,6 +85,14 @@ If you have selected a variable for an entity that is an open type (`OpenType="t The ability to add additional attributes was introduced in [Studio Pro 11.5.0](/releasenotes/studio-pro/11.5/). {{% /alert %}} +### Collection Attributes + +When assigning a value to an entity type parameter that has collection attributes (e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. + +{{% alert color="info" %}} +The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). +{{% /alert %}} + ### Associations to Include If you have selected a variable for an entity that has associations, you can select the associations you want to include in the arguments that you call the external action with. diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 3a8ea806097..65de2e95ea8 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -78,17 +78,18 @@ Attributes marked as `FC_KeepInContent=false` cannot be used. The most commonly used attribute types can be used in your app. The types of the attributes are be based on the types of the attributes in the OData metadata, as given in the following table: -| OData Type | Mendix Type | -| --- | --- | -| Binary | Binary (see [Binary Attributes](#binary-attributes) below) | -| Boolean | Boolean ¹ | -| Byte, SByte, Int16, Int32 | Integer | -| DateTime, DateTimeOffset, Time | Date/time | -| Decimal, Double, Single | Decimal ² | -| Enumeration | Enumeration | -| Int64 | Long | -| String, Guid | String | -| (Other) | (Ignored) | +| OData Type | Mendix Type | +| --- | --- | +| Binary | Binary (see [Binary Attributes](#binary-attributes) below) | +| Boolean | Boolean ¹ | +| Byte, SByte, Int16, Int32 | Integer | +| DateTime, DateTimeOffset, Time | Date/time | +| Decimal, Double, Single | Decimal ² | +| Enumeration | Enumeration | +| Int64 | Long | +| String, Guid | String | +| Collection(Any Mendix-supported primitive type) | List (see [Collection Attributes](#collection-attributes) below)| +| (Other) | (Ignored) | ¹ In Studio Pro, Booleans cannot be null. If the service returns null, the app will use the value `false`. @@ -122,6 +123,15 @@ The binary data format is supported in the form of *media entities*. When a medi Currently, the binary data can only be accessed by Java actions. +### Collection Attributes {#collection-attributes} + +Collection attributes (mendix supported primitive-types) are supported in OData entity type when consumed as an external entity. +When an entity type with supported Collection attribute(s) is added to the domain model, each of its Collection attributes is represented as a non-persistable entity (associated as a one-way navigable Reference-set to original attribute containing entity type). The domain model entity corresponding to the collection attribute contains a single attribute (having same primitive type as the type of Collection in the OData metadata). + +{{% alert color="info" %}} +The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). +{{% /alert %}} + ### Associations An OData v3 association can only be used if it has two ends. From 8608eda7774ea7804325958493fa1efea276071f Mon Sep 17 00:00:00 2001 From: Adeel Ahmad Date: Fri, 5 Dec 2025 09:08:35 +0100 Subject: [PATCH 2/7] Update call-external-action.md --- .../call-external-action.md | 2 +- .../consumed-odata-service-requirements.md | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index 91fc1dd50ae..ebf1866d121 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -85,7 +85,7 @@ If you have selected a variable for an entity that is an open type (`OpenType="t The ability to add additional attributes was introduced in [Studio Pro 11.5.0](/releasenotes/studio-pro/11.5/). {{% /alert %}} -### Collection Attributes +### Collection Attributes {#collection-attributes} When assigning a value to an entity type parameter that has collection attributes (e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 65de2e95ea8..3199e6ffd1b 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -78,18 +78,18 @@ Attributes marked as `FC_KeepInContent=false` cannot be used. The most commonly used attribute types can be used in your app. The types of the attributes are be based on the types of the attributes in the OData metadata, as given in the following table: -| OData Type | Mendix Type | -| --- | --- | -| Binary | Binary (see [Binary Attributes](#binary-attributes) below) | -| Boolean | Boolean ¹ | -| Byte, SByte, Int16, Int32 | Integer | -| DateTime, DateTimeOffset, Time | Date/time | -| Decimal, Double, Single | Decimal ² | -| Enumeration | Enumeration | -| Int64 | Long | -| String, Guid | String | -| Collection(Any Mendix-supported primitive type) | List (see [Collection Attributes](#collection-attributes) below)| -| (Other) | (Ignored) | +| OData Type | Mendix Type | +| --- | --- | +| Binary | Binary (see [Binary Attributes](#binary-attributes) below) | +| Boolean | Boolean ¹ | +| Byte, SByte, Int16, Int32 | Integer | +| DateTime, DateTimeOffset, Time | Date/time | +| Decimal, Double, Single | Decimal ² | +| Enumeration | Enumeration | +| Int64 | Long | +| String, Guid | String | +| Collection | List (see [Collection Attributes](#collection-attributes) below)| +| (Other) | (Ignored) | ¹ In Studio Pro, Booleans cannot be null. If the service returns null, the app will use the value `false`. @@ -164,8 +164,9 @@ Supported types, and their corresponding type in Mendix, are: | Entity | Object ³ | | Enumeration | Enumeration | | String, Guid | String | +| Collection | List ⁴ | -Note that the only supported Collection type is a Collection of Entities, and that binary parameters or return values are not supported for consumed OData actions. +Note that the only supported Collection type is a Collection of Entities, Collection of mendix-supported primitives, and that binary parameters or return values are not supported for consumed OData actions. ¹ In Mendix, Booleans cannot be null. If the action returns null, the value will be false in Mendix. @@ -173,6 +174,8 @@ Note that the only supported Collection type is a Collection of Entities, and th ³ Objects that contain attributes of complex types are not currently supported in actions. +⁴ Collection of mendix-supported primtive types, see more details in [Using Collection-type attributes in Call External Action](/refguide/call-external-action/#collection-attributes) + {{% alert color="warning" %}} When the OData endpoint contains functions, these are not imported in the consumed OData service. You can use a [Call REST service](/refguide/call-rest-action/) activity to call these functions. {{% /alert %}} From 4ac3cd16bd9c7c6ed631a460d86ea5105f447679 Mon Sep 17 00:00:00 2001 From: Adeel Ahmad Date: Fri, 5 Dec 2025 09:11:10 +0100 Subject: [PATCH 3/7] Update call-external-action.md to specify collection must be of supported primitives --- .../activities/integration-activities/call-external-action.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index ebf1866d121..52f265360f2 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -87,7 +87,7 @@ The ability to add additional attributes was introduced in [Studio Pro 11.5.0](/ ### Collection Attributes {#collection-attributes} -When assigning a value to an entity type parameter that has collection attributes (e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. +When assigning a value to an entity type parameter that has collection attributes (mendix supported primitive-types; e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. {{% alert color="info" %}} The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). From f29ae730be3846b5940c6e9951a3a71a8b078c2d Mon Sep 17 00:00:00 2001 From: Adeel Ahmad Date: Fri, 5 Dec 2025 09:13:42 +0100 Subject: [PATCH 4/7] Correct casing --- .../activities/integration-activities/call-external-action.md | 2 +- .../consumed-odata-service-requirements.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index 52f265360f2..ae48d2ce7d2 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -87,7 +87,7 @@ The ability to add additional attributes was introduced in [Studio Pro 11.5.0](/ ### Collection Attributes {#collection-attributes} -When assigning a value to an entity type parameter that has collection attributes (mendix supported primitive-types; e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. +When assigning a value to an entity type parameter that has collection attributes (Mendix-supported primitive types; e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. {{% alert color="info" %}} The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 3199e6ffd1b..9b5b217bad0 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -125,7 +125,7 @@ Currently, the binary data can only be accessed by Java actions. ### Collection Attributes {#collection-attributes} -Collection attributes (mendix supported primitive-types) are supported in OData entity type when consumed as an external entity. +Collection attributes (Mendix-supported primitive types) are supported in OData entity type when consumed as an external entity. When an entity type with supported Collection attribute(s) is added to the domain model, each of its Collection attributes is represented as a non-persistable entity (associated as a one-way navigable Reference-set to original attribute containing entity type). The domain model entity corresponding to the collection attribute contains a single attribute (having same primitive type as the type of Collection in the OData metadata). {{% alert color="info" %}} @@ -174,7 +174,7 @@ Note that the only supported Collection type is a Collection of Entities, Collec ³ Objects that contain attributes of complex types are not currently supported in actions. -⁴ Collection of mendix-supported primtive types, see more details in [Using Collection-type attributes in Call External Action](/refguide/call-external-action/#collection-attributes) +⁴ Collection of Mendix-supported primtive types, see more details in [Using Collection-type attributes in Call External Action](/refguide/call-external-action/#collection-attributes) {{% alert color="warning" %}} When the OData endpoint contains functions, these are not imported in the consumed OData service. You can use a [Call REST service](/refguide/call-rest-action/) activity to call these functions. From 119f0fa5cad74c78092d91935f3b5d751d2671e0 Mon Sep 17 00:00:00 2001 From: Joost Verhoog Date: Fri, 5 Dec 2025 16:16:51 +0100 Subject: [PATCH 5/7] Adjust documentation of service, remove changes for call external action --- .../call-external-action.md | 12 ----------- .../consumed-odata-service-requirements.md | 20 ++++++++++-------- .../collection-of-primitives.png | Bin 0 -> 8321 bytes 3 files changed, 11 insertions(+), 21 deletions(-) create mode 100644 static/attachments/refguide/modeling/integration/odata-services/consumed-odata-service/collection-of-primitives.png diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md index ae48d2ce7d2..702278bea92 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/call-external-action.md @@ -55,10 +55,6 @@ The **Output** section shows what the action returns and allows you to rename it If the action returns an entity that has associations, you can select the associations that you want to have populated in the resulting variable. You can then use the **Retrieve object(s)** activity to retrieve the associated objects over the association. -{{% alert color="info" %}} -The support for OData actions that return entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). -{{% /alert %}} - ## Documentation Tab {#public-documentation} In the **Documentation** tab, you can find a **Summary** and a **Description**. These fields contain public documentation provided by the author of the service. @@ -85,14 +81,6 @@ If you have selected a variable for an entity that is an open type (`OpenType="t The ability to add additional attributes was introduced in [Studio Pro 11.5.0](/releasenotes/studio-pro/11.5/). {{% /alert %}} -### Collection Attributes {#collection-attributes} - -When assigning a value to an entity type parameter that has collection attributes (Mendix-supported primitive types; e.g., a list of strings), select the corresponding attribute of matching type from list variable (list of objects) — Mendix will automatically use the whole list to populate the collection values. - -{{% alert color="info" %}} -The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). -{{% /alert %}} - ### Associations to Include If you have selected a variable for an entity that has associations, you can select the associations you want to include in the arguments that you call the external action with. diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 9b5b217bad0..99636ad3fbd 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -88,7 +88,7 @@ The most commonly used attribute types can be used in your app. The types of the | Enumeration | Enumeration | | Int64 | Long | | String, Guid | String | -| Collection | List (see [Collection Attributes](#collection-attributes) below)| +| Collection | List (see [Collection Attributes](#collection-properties) below) | | (Other) | (Ignored) | ¹ In Studio Pro, Booleans cannot be null. If the service returns null, the app will use the value `false`. @@ -123,13 +123,18 @@ The binary data format is supported in the form of *media entities*. When a medi Currently, the binary data can only be accessed by Java actions. -### Collection Attributes {#collection-attributes} +### Collection Properties {#collection-properties} -Collection attributes (Mendix-supported primitive types) are supported in OData entity type when consumed as an external entity. -When an entity type with supported Collection attribute(s) is added to the domain model, each of its Collection attributes is represented as a non-persistable entity (associated as a one-way navigable Reference-set to original attribute containing entity type). The domain model entity corresponding to the collection attribute contains a single attribute (having same primitive type as the type of Collection in the OData metadata). +Entity type properties that are a collection of a supported attribute type are supported through the use of a associated non-persistable entity. + +Take for example a `Product` entity type has an attribute `Tags` with type `Collection(Edm.String)`. The resulting domain model looks as follows: + +{{< figure src="/attachments/refguide/modeling/integration/odata-services/consumed-odata-service/collection-of-primitives.png" alt="A product entity with an associated ProductTag entity. The ProductTag entity has a Tag attribute" width="531" class="no-border" >}} + +For entity sets these properties are not supported. This means that they can only be used in parameters and return values of external actions. {{% alert color="info" %}} -The support for OData actions with parameter entity type having Collection attribute(s) of supported primitive types, was introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). +Collection properties were introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). {{% /alert %}} ### Associations @@ -164,9 +169,8 @@ Supported types, and their corresponding type in Mendix, are: | Entity | Object ³ | | Enumeration | Enumeration | | String, Guid | String | -| Collection | List ⁴ | -Note that the only supported Collection type is a Collection of Entities, Collection of mendix-supported primitives, and that binary parameters or return values are not supported for consumed OData actions. +Note that the only supported Collection type is a Collection of Entities, and that binary parameters or return values are not supported for consumed OData actions. ¹ In Mendix, Booleans cannot be null. If the action returns null, the value will be false in Mendix. @@ -174,8 +178,6 @@ Note that the only supported Collection type is a Collection of Entities, Collec ³ Objects that contain attributes of complex types are not currently supported in actions. -⁴ Collection of Mendix-supported primtive types, see more details in [Using Collection-type attributes in Call External Action](/refguide/call-external-action/#collection-attributes) - {{% alert color="warning" %}} When the OData endpoint contains functions, these are not imported in the consumed OData service. You can use a [Call REST service](/refguide/call-rest-action/) activity to call these functions. {{% /alert %}} diff --git a/static/attachments/refguide/modeling/integration/odata-services/consumed-odata-service/collection-of-primitives.png b/static/attachments/refguide/modeling/integration/odata-services/consumed-odata-service/collection-of-primitives.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec0d88426bb284aa8b6be9153d11ae7b7708ac0 GIT binary patch literal 8321 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�A;S^%dGL~7i;4X0E^5FY@ z3rb}J`C!4Q-m=s5Ozg4PI+~B#yu6;ww5+%=XJ(I6(H*Vw1WW0(ZN(f4dD>kma l#8d~Rx#qV2zrMebHVm$qYmJr%|1JOkDhisg3OS3A{{c4Q-^>62 literal 0 HcmV?d00001 From 4079f933653dfa21b4900bdf39d68a960f4c71cb Mon Sep 17 00:00:00 2001 From: Joost Verhoog Date: Fri, 5 Dec 2025 16:23:11 +0100 Subject: [PATCH 6/7] Add note about OData v3 --- .../consumed-odata-service-requirements.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 99636ad3fbd..90fd63fdf0b 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -133,6 +133,8 @@ Take for example a `Product` entity type has an attribute `Tags` with type `Coll For entity sets these properties are not supported. This means that they can only be used in parameters and return values of external actions. +Collection properties are not supported for services using OData v3. + {{% alert color="info" %}} Collection properties were introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). {{% /alert %}} From 9aec9000bc4ecba7ea61fc3c23ad2cde970858ab Mon Sep 17 00:00:00 2001 From: quinntracy Date: Mon, 8 Dec 2025 12:11:41 +0100 Subject: [PATCH 7/7] Review --- .../consumed-odata-service-requirements.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md index 90fd63fdf0b..10af250076c 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/consumed-odata-services/consumed-odata-service-requirements.md @@ -88,7 +88,7 @@ The most commonly used attribute types can be used in your app. The types of the | Enumeration | Enumeration | | Int64 | Long | | String, Guid | String | -| Collection | List (see [Collection Attributes](#collection-properties) below) | +| Collection | List (see [Collection Properties](#collection-properties) below) | | (Other) | (Ignored) | ¹ In Studio Pro, Booleans cannot be null. If the service returns null, the app will use the value `false`. @@ -125,20 +125,20 @@ Currently, the binary data can only be accessed by Java actions. ### Collection Properties {#collection-properties} -Entity type properties that are a collection of a supported attribute type are supported through the use of a associated non-persistable entity. +{{% alert color="info" %}} +Collection properties were introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). +{{% /alert %}} + +Entity type properties that are a collection of a supported attribute type are supported through the use of an associated non-persistable entity. -Take for example a `Product` entity type has an attribute `Tags` with type `Collection(Edm.String)`. The resulting domain model looks as follows: +Take, for example, a `Product` entity type has an attribute `Tags` with type `Collection(Edm.String)`. The resulting domain model looks as follows: {{< figure src="/attachments/refguide/modeling/integration/odata-services/consumed-odata-service/collection-of-primitives.png" alt="A product entity with an associated ProductTag entity. The ProductTag entity has a Tag attribute" width="531" class="no-border" >}} -For entity sets these properties are not supported. This means that they can only be used in parameters and return values of external actions. +For entity sets, these properties are not supported. This means they can only be used in parameters and return values of external actions. Collection properties are not supported for services using OData v3. -{{% alert color="info" %}} -Collection properties were introduced in [Studio Pro 11.6.0](/releasenotes/studio-pro/11.6/). -{{% /alert %}} - ### Associations An OData v3 association can only be used if it has two ends.