You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: powerapps-docs/developer/data-platform/configure-entity-relationship-cascading-behavior.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -81,7 +81,7 @@ The `CascadeConfiguration` (<xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguratio
81
81
82
82
<aname="BKMK_ReparentAction"></a>
83
83
### About the reparent action
84
-
The reparent action is very similar to the share action except that it deals with the inherited read access rights instead of explicit read access rights. The reparent action is when you change the value of the referencing column in a parental relationship. When a reparent action occurs, the desired scope of the inherited read access rights for related tables might change. The cascade actions related to the reparent action refer to changes to read access rights for the table record and any table records related to it.
84
+
The reparent action is very similar to the share action except that it deals with the inherited access rights instead of explicit access rights. The reparent action is when you change the value of the referencing column in a parental relationship. When a reparent action occurs, the desired scope of the inherited access rights for related tables might change for ReadAccess, WriteAccess, DeleteAccess, AssignAccess, ShareAccess, AppendAccess and AppendToAccess. It will not change for CreateAccess. The cascade actions related to the reparent action refer to changes to access rights indicated above for the table record and any table records related to it.
85
85
86
86
<aname="BKMK_MergeAction"></a>
87
87
### About the merge action
@@ -97,4 +97,4 @@ The `CascadeConfiguration` (<xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguratio
There are two broad categories of changes to the metadata system that are associated with the introduction of virtual entities in Microsoft Dataverse:
24
+
There are two broad categories of changes to the table definition system that are associated with the introduction of virtual tables (also known as virtual entities) in Microsoft Dataverse:
25
25
26
-
- Addition of a new assembly, namespaces, classes and other types to support development of custom virtual entity data providers
27
-
- Changes to the core platform, including a few additional properties to support external data source mapping, and modification of behaviors of existing entity and attribute properties that reflect the limitations of the initial implementation of this feature
26
+
- Addition of a new assembly, namespaces, classes and other types to support development of custom virtual table data providers
27
+
- Changes to the core platform, including a few additional properties to support external data source mapping, and modification of behaviors of existing table and column properties that reflect the limitations of the initial implementation of this feature
28
28
29
29
## Dynamics 365 Data SDK assembly
30
30
31
-
The Dynamics 365 Data SDK assembly, `Microsoft.Xrm.Sdk.Data.dll`, contains types to aid in the creation of custom virtual entity data providers. It is comprised of the following namespaces:
31
+
The Dynamics 365 Data SDK assembly, `Microsoft.Xrm.Sdk.Data.dll`, contains types to aid in the creation of custom virtual table data providers. It is comprised of the following namespaces:
32
32
33
33
|Namespace|Description|
34
34
|---------|---------|
@@ -37,27 +37,27 @@ The Dynamics 365 Data SDK assembly, `Microsoft.Xrm.Sdk.Data.dll`, contains types
37
37
|<xref:Microsoft.Xrm.Sdk.Data.Converters>|A set of classes to convert standard XRM types to their corresponding .NET fundamental types|
38
38
|<xref:Microsoft.Xrm.Sdk.Data.Exceptions>|A set of exception classes that represent errors that can occur during runtime value resolution. All are derived from Microsoft.Xrm.Sdk.SdkExceptionBase.|
39
39
|<xref:Microsoft.Xrm.Sdk.Data.Expressions>|Classes to assist in implementing the supported query transformations, such as FILTER, JOIN, and ORDER.|
40
-
|<xref:Microsoft.Xrm.Sdk.Data.Mappings>|Classes and interfaces that build the mapping from virtual entity metadata types to external types.|
40
+
|<xref:Microsoft.Xrm.Sdk.Data.Mappings>|Classes and interfaces that build the mapping from virtual table definition types to external types.|
41
41
|Microsoft.Xrm.Sdk.Data.Visitors|Classes that implement the [visitor pattern](https://en.wikipedia.org/wiki/Visitor_pattern) to perform specific operations on the **QueryExpression** parameter passed to the data provider during **RetrieveMultiple** requests. Provides specific support for both generic query and LINQ-baseed processing. These classes are derived from Microsoft.Xrm.Sdk.Query.QueryExpressionVisitorBase.|
42
42
43
43
This assembly is distributed as a NuGet package: [Microsoft.CrmSdk.Data](https://www.nuget.org/packages/Microsoft.CrmSdk.Data/)
44
44
45
45
## Changes to the core platform
46
46
47
-
The following changes to the standard Dataverse reference types were introduced to support virtual entities.
47
+
The following changes to the standard Dataverse reference types were introduced to support virtual tables.
48
48
49
-
### New Entities
49
+
### New tables
50
50
51
-
The Dataverse exposes virtual entity data providers and sources as the following new entities: [EntityDataProvider](../reference/entities/entitydataprovider.md) and [EntityDataSource](../reference/entities/entitydatasource.md).
51
+
The Dataverse exposes virtual table data providers and sources as the following new tables: [EntityDataProvider](../reference/entities/entitydataprovider.md) and [EntityDataSource](../reference/entities/entitydatasource.md).
52
52
53
-
### New metadata properties
53
+
### New table definition properties
54
54
55
55
Four new properties were added to the <xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata> class:
56
56
57
57
|Property|Description|
58
58
|--|--|
59
-
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataProviderId>|GUID that identifies the associated virtual entity data provider|
60
-
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataSourceId>|GUID that identifies the associated virtual entity data source|
59
+
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataProviderId>|GUID that identifies the associated virtual table data provider|
60
+
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataSourceId>|GUID that identifies the associated virtual table data source|
61
61
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.ExternalName>|Name for this type in the external data source|
62
62
|<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.ExternalCollectionName>|Plural name for this type, used in the UI and to support OData access|
63
63
@@ -68,24 +68,24 @@ Two new properties were added to the <xref:Microsoft.Xrm.Sdk.Metadata.AttributeM
68
68
|<xref:Microsoft.Xrm.Sdk.Metadata.AttributeMetadata.ExternalName>|Name of the type in the external data source|
69
69
|<xref:Microsoft.Xrm.Sdk.Metadata.AttributeMetadata.IsDataSourceSecret>|Indicates whether the field contains sensitive information|
70
70
71
-
The `ExternalName` property was also added to the <xref:Microsoft.Xrm.Sdk.Metadata.OptionMetadata> and <xref:Microsoft.Xrm.Sdk.Metadata.OptionSetMetadata> classes. These external names assist in the external data source mapping, by specifying the name of the associated type in the external data source. These properties are only used for virtual entities; for a builtin or standard custom entity type, these external names must be `null`.
71
+
The `ExternalName` property was also added to the <xref:Microsoft.Xrm.Sdk.Metadata.OptionMetadata> and <xref:Microsoft.Xrm.Sdk.Metadata.OptionSetMetadata> classes. These external names assist in the external data source mapping, by specifying the name of the associated type in the external data source. These properties are only used for virtual tables; for a builtin or standard custom entity type, these external names must be `null`.
72
72
73
73
74
-
### Virtual entity creation
74
+
### virtual table creation
75
75
76
-
The approach to programmatically creating a virtual entity type differs slightly from a standard custom entity type creation in that:
76
+
The approach to programmatically creating a virtual table type differs slightly from a standard custom entity type creation in that:
77
77
78
78
- If the associated data provider (and optionally data source) is known at creation time, then these are specified.
79
79
- If the data provider for this type is not known, then at minimum, <xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataProviderId> is set to `7015A531-CC0D-4537-B5F2-C882A1EB65AD`, and the <xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.DataSourceId> is set to `null`. Before instances of this type are used at runtime, these properties must be assigned appropriate values.
80
80
81
-
Two new entities, [EntityDataProvider](../reference/entities/entitydataprovider.md) and optionally [EntityDataSource](../reference/entities/entitydatasource.md), will be created when you register a plugin, and their respective ID's, `entitydataproviderid` and `entitydatasourceid`, represent these required GUIDs. (Otherwise, developers rarely need to access these custom types directly.) Note that DataSource contains the property `entitydataproviderid` that must match the corresponding DataProvider type or a runtime exception will be thrown.
81
+
Two new tables, [EntityDataProvider](../reference/entities/entitydataprovider.md) and optionally [EntityDataSource](../reference/entities/entitydatasource.md), will be created when you register a plugin, and their respective ID's, `entitydataproviderid` and `entitydatasourceid`, represent these required GUIDs. (Otherwise, developers rarely need to access these custom types directly.) Note that DataSource contains the property `entitydataproviderid` that must match the corresponding DataProvider type or a runtime exception will be thrown.
82
82
83
83
> [!WARNING]
84
-
> Standard (non-virtual) entities must have the values of their associated `DataProviderId` and `DataSourceId` set to their default values (`null`), otherwise a runtime exception will be thrown. Once created, you cannot convert from a non-virtual type to a virtual type, or the reverse.
84
+
> Standard (non-virtual) tables must have the values of their associated `DataProviderId` and `DataSourceId` set to their default values (`null`), otherwise a runtime exception will be thrown. Once created, you cannot convert from a non-virtual type to a virtual type, or the reverse.
85
85
86
-
### Entity metadata property behavior changes
86
+
### Table definition property behavior changes
87
87
88
-
The following table details how the behavior of standard [EntityMetadata properties](/dotnet/api/microsoft.xrm.sdk.metadata.entitymetadata?view=dynamics-general-ce-9#properties) are modified when applied to virtual entities. Some properties are not valid for virtual entities, whereas others are limited in scope or value.
88
+
The following table details how the behavior of standard [EntityMetadata properties](/dotnet/api/microsoft.xrm.sdk.metadata.entitymetadata?view=dynamics-general-ce-9#properties) are modified when applied to virtual tables. Some properties are not valid for virtual tables, whereas others are limited in scope or value.
89
89
90
90
|**Metadata Property**|**Applies?**|**Notes**|
91
91
|---------------------|------------|---------|
@@ -128,7 +128,7 @@ The following table details how the behavior of standard [EntityMetadata propert
128
128
|IsAuditEnabled|_invalid_|Always false, auditing is not supported.|
129
129
|IsAvailableOffline|_invalid_|Always false, offline use is not supported.|
130
130
|IsBusinessProcessEnabled|_invalid_|Always false, business processes are not supported.|
131
-
|IsChildEntity|_invalid_|Always false, all virtual entity are organizationally owned.|
131
+
|IsChildEntity|_invalid_|Always false, all virtual tables are organizationally owned.|
132
132
|IsConnectionsEnabled|valid|<!-- TODO: Connection support is still TBD for Potassium -->|
133
133
|IsCustomEntity|valid||
134
134
|IsCustomizable|valid||
@@ -144,7 +144,7 @@ The following table details how the behavior of standard [EntityMetadata propert
144
144
|IsMailMergeEnabled|valid||
145
145
|IsManaged|valid||
146
146
|IsMappable|valid||
147
-
|IsOfflineInMobileClient|_invalid_|Always false, virtual entity values are not cached for offline use.|
147
+
|IsOfflineInMobileClient|_invalid_|Always false, virtual table values are not cached for offline use.|
148
148
|IsOneNoteIntegrationEnabled|valid||
149
149
|IsOptimisticConcurrencyEnabled|_invalid_|Always false, concurrency must be implemented in the data source.|
150
150
|IsPrivate|valid||
@@ -161,7 +161,7 @@ The following table details how the behavior of standard [EntityMetadata propert
161
161
|LogicalCollectionName|valid||
162
162
|LogicalName|valid||
163
163
|ManyToManyRelationships|valid||
164
-
|ManyToOneRelationships|valid| Not supported between two virtual entities. |
164
+
|ManyToOneRelationships|valid| Not supported between two virtual tables. |
165
165
|MetadataId|valid||
166
166
|MobileOfflineFilters|_invalid_|Always false, offline use is not supported.|
167
167
|ObjectTypeCode|valid||
@@ -179,9 +179,9 @@ The following table details how the behavior of standard [EntityMetadata propert
179
179
<!-- TODO: Add links to reference properties in first column. -->
180
180
181
181
182
-
### Attribute metadata property behavior changes
182
+
### Column definition property behavior changes
183
183
184
-
The following table explains how the behavior of standard [AttributeMetadata properties](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata?view=dynamics-general-ce-9#properties) are modified when applied to virtual entities. Some properties are not valid for virtual entities, whereas others are limited in scope or value.
184
+
The following table explains how the behavior of standard [AttributeMetadata properties](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata?view=dynamics-general-ce-9#properties) are modified when applied to virtual tables. Some properties are not valid for virtual tables, whereas others are limited in scope or value.
185
185
186
186
|**Metadata Property**|**Applies?**|**Notes**|
187
187
|---------------------|------------|---------|
@@ -221,8 +221,8 @@ The following table explains how the behavior of standard [AttributeMetadata pro
221
221
### See also
222
222
223
223
[Get started with virtual entities](get-started-ve.md)<br />
224
-
[Custom virtual entity data providers](custom-ve-data-providers.md)<br />
225
-
[Sample: Generic virtual entity data provider plug-in](sample-generic-ve-plugin.md)
224
+
[Custom virtual table data providers](custom-ve-data-providers.md)<br />
225
+
[Sample: Generic virtual table data provider plug-in](sample-generic-ve-plugin.md)
0 commit comments