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/restore-deleted-records.md
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -298,14 +298,14 @@ The following are issues you can avoid when restoring records:
298
298
299
299
-[Restore related records before restoring primary record](#restore-related-records-before-restoring-primary-record)
300
300
-[Don't specify primary key values when creating records](#dont-specify-primary-key-values-when-creating-records)
301
-
-[Records with matching alternate key values will block restore](#records-with-matching-alternate-key-values-will-block-restore)
302
-
-[Records using removed Choice options can't restored](#records-using-removed-choice-options-cant-restored)
301
+
-[Records with matching alternate key values block restore](#records-with-matching-alternate-key-values-block-restore)
302
+
-[Records using removed Choice options aren't restored](#records-using-removed-choice-options-arent-restored)
303
303
-[Primary Key Violation on Delete](#primary-key-violation-on-delete)
304
304
305
305
306
306
#### Restore related records before restoring primary record
307
307
308
-
If some related records whose reference were removed as part of Cascade relationship, no longer exist, the restore operation will fail. To avoid this, always restore the related records not deleted as part of current record, before trying to restore the primary record.
308
+
If some related records whose reference were removed as part of cascade relationship no longer exist, the restore operation fails. To avoid this problem, always restore the related records not deleted as part of current record before trying to restore the primary record.
@@ -315,14 +315,14 @@ If some related records whose reference were removed as part of Cascade relation
315
315
316
316
#### Don't specify primary key values when creating records
317
317
318
-
It is generally a good practice to always let Dataverse set the primary key when creating a record. If you create a new record that has the same primary key value as a deleted record, the deleted record can't be restored. If you do, you must delete the new record before you can restore the deleted one.
318
+
It's generally a good practice to always let Dataverse set the primary key when creating a record. If you create a new record that has the same primary key value as a deleted record, the deleted record can't be restored. If you do, you must delete the new record before you can restore the deleted one.
> Message: `Please delete the existing conflicting record '<Entity Platform Name>' with primary key '<Primary Key Name>' and primary key value '<Primary Key Value>' before attempting restore.`
324
324
325
-
#### Records with matching alternate key values will block restore
325
+
#### Records with matching alternate key values block restore
326
326
327
327
If you create a record that has the same alternate key column values as a deleted record, you can't restore it. If you do, you must delete the new record before you can restore the deleted one.
328
328
@@ -331,7 +331,7 @@ If you create a record that has the same alternate key column values as a delete
331
331
> Number: `-2147182295`<br />
332
332
> Message: `Duplicate entity key preventing restore of record '<Entity Platform Name>' with primary key '<Primary Key Name>' and primary key value '<Primary Key Value>'. See inner exception for entity key details.`
333
333
334
-
#### Records using removed Choice options can't restored
334
+
#### Records using removed Choice options aren't restored
335
335
336
336
If you delete an optionset option, and that option was used in a deleted record, you can't restore it because the option is now invalid. Before deleting an option set option, check that no records use that option, including deleted records.
337
337
@@ -656,16 +656,16 @@ Dataverse provides a mechanism to manage desired actions for related records whe
656
656
|---------|---------|
657
657
|**Cascade All**|The related records are deleted.|
658
658
|**Remove Link**|The lookup columns to the deleted record are set to null.|
659
-
|**Cascade None**|No changes will be applied to related records. (Internal Only) |
659
+
|**Cascade None**|No changes are applied to related records. (Internal Only) |
660
660
|**Restrict**|Dataverse prevents deleting the record to maintain data integrity. The record can't be deleted unless there are no records related for this relationship.|
661
661
662
662
[Learn more about relationship behaviors](../../maker/data-platform/create-edit-entity-relationships.md#behaviors)
663
663
664
664
There's nothing to do when the relationship is configured for **Cascade All**, **Remove Link**, and **Restrict** because Dataverse manages these behaviors.
665
665
666
-
If you have a relationship configured to use the **Remove Link** behavior, but this relationship is supposed to delete the related record, you might have custom logic that applies some custom behavior. For example, you might wish to respond to this behavior differently and implement your own *'Cascade some'* behavior based on rules you define. For example, you might delete inactive records or records that haven't been updated in a certain period of time. This logic is usually implemented using a plug-in, but it could also be done using Power Automate with the [Microsoft Dataverse connector: When a row is added, modified or deleted trigger](/connectors/commondataserviceforapps/#when-a-row-is-added,-modified-or-deleted).
666
+
If you have a relationship configured to use the **Remove Link** behavior, but this relationship is supposed to delete the related record, you might have custom logic that applies some custom behavior. For example, you might wish to respond to this behavior differently and implement your own *'Cascade some'* behavior based on rules you define. For example, you might delete inactive records or records that weren't updated in a certain period of time. This logic is usually implemented using a plug-in, but it could also be done using Power Automate with the [Microsoft Dataverse connector: When a row is added, modified or deleted trigger](/connectors/commondataserviceforapps/#when-a-row-is-added,-modified-or-deleted).
667
667
668
-
If you have this kind of custom business logic, then Dataverse doesn't know about it and can't automatically 'un-do' your logic. However, you can register another plug-in on the `Restore` message to reverse whatever custom logic you have. Or you could use Power Automate and the [Microsoft Dataverse connector: When an action is performed trigger](/connectors/commondataserviceforapps/#when-an-action-is-performed).
668
+
If you have this kind of custom business logic, then Dataverse doesn't know about it and can't automatically 'undo' your logic. However, you can register another plug-in on the `Restore` message to reverse whatever custom logic you have. Or you could use Power Automate and the [Microsoft Dataverse connector: When an action is performed trigger](/connectors/commondataserviceforapps/#when-an-action-is-performed).
669
669
670
670
> [!IMPORTANT]
671
671
> Be careful about the context when you register plug-in steps for the `Restore` message. The record being restored will not be available in the `PreOperation` stage. If related records need to be created, use the `PostOperation` stage. [Learn more about plug-in stages](event-framework.md#event-execution-pipeline).
@@ -674,7 +674,7 @@ If you have this kind of custom business logic, then Dataverse doesn't know abou
674
674
675
675
## Tables not currently supported for Recycle Bin
676
676
677
-
The following tables are the result of the query found in [Detect which tables don't have recycle bin enabled](#detect-which-tables-dont-have-recycle-bin-enabled) in May of 2024 when the preview of this feature started. [Private tables](entities.md#private-tables)are not included in this list.
677
+
The following tables are the result of the query found in [Detect which tables don't have recycle bin enabled](#detect-which-tables-dont-have-recycle-bin-enabled) in May of 2024 when the preview of this feature started. [Private tables](entities.md#private-tables)aren't included in this list.
0 commit comments