IPowerPortalsProService

L’interface IPowerPortalsProService fournit des méthodes pour effectuer des opérations CRUD, exécuter des requêtes, gérer les relations et récupérer des métadonnées depuis Dataverse. C’est le principal service d’accès aux données côté serveur dans PowerPortalsPro.

Note

Dans la plupart des cas, vous n’avez pas besoin d’appeler IPowerPortalsProService directement. Les RecordContextcomposants , MainContext, et grid gèrent automatiquement les opérations de données. Utilisez ce service pour une logique personnalisée qui sort du flux de travail standard des composants.

Implémentations serveur et client

IPowerPortalsProService livré avec deux implémentations enregistrées automatiquement par le framework — votre code composant est identique contre les deux, et l’exécution injecte celle correspondant au contexte de rendu actif :

  • Implémentation serveur (PowerPortalsPro.Web.Server, enregistrée par AddPowerPortalsProWebServer) — s’exécute en cours, communique directement avec Dataverse via IOrganizationService, et applique vos ITablePermissionHandler / ITableRecordPermissionHandler interceptors avant toute lecture ou écriture. Sélectionné lors du rendu de la page sous InteractiveServerRenderMode ou sous SSR statique.
  • Implémentation client (PowerPortalsPro.Web.Client, enregistrée par AddPowerPortalsProWebClient) — s’exécute dans le navigateur via WebAssembly, ne possède aucun SDK Dataverse, et sérialise à la place chaque appel en JSON vers le point de terminaison HTTP côté serveur correspondant (/api/table/{name}, /api/retrieveMultiple, etc.). Les gestionnaires de permissions s’appliquent toujours car la requête se retrouve sur le point d’arrivée du serveur. Consultez la page API client pour le format de câble et les routes appelées par l’implémentation client.

Parce que le contrat est identique, le même composant fonctionne sous n’importe quel mode d’interactivité (Serveur, WebAssembly ou Auto). Le code qui appelle _powerPortalsProService.RetrieveRecordAsync(...) une page rendue par serveur effectue un appel Dataverse en cours ; la même ligne dans une page rendue par WASM émet une requête HTTP — aucun branchement nécessaire.

Injection du Service

Injecter IPowerPortalsProService dans tout composant ou service Blazor via l’injection de constructeur ou de propriété.

React
Blazor

Récupérer un dossier

Utilisez RetrieveRecordAsync pour récupérer un seul enregistrement par nom de table et ID. Spécifiez optionnellement quelles colonnes retourner ; si elles sont omises, toutes les colonnes sont retournées.

React
Blazor

Requête de plusieurs enregistrements

Utilisez RetrieveRecordsAsync avec une chaîne de requête FetchXML pour récupérer plusieurs enregistrements avec filtrage, tri et support des entités liées.

React
Blazor

Création d’un dossier

Utilisez-le CreateRecordAsync pour créer un nouvel enregistrement dans Dataverse. La réponse contient l’ID du nouvel enregistrement créé.

React
Blazor

Mise à jour d’un enregistrement

À utiliser UpdateRecordAsync pour mettre à jour un enregistrement existant. Seules les propriétés définies sur le TableRecord sont envoyées à Dataverse.

React
Blazor

Suppression d’un enregistrement

À utiliser DeleteRecordAsync pour supprimer un enregistrement par le nom de la table et l’ID.

React
Blazor

Records associés

Utilisez AssociateAsync et DisassociateAsync gérez les relations de plusieurs-à-plusieurs entre les enregistrements.

React
Blazor

Exécution des requêtes

Utilisez ExecuteAsync pour une seule requête ou ExecuteMultipleAsync pour exécuter plusieurs requêtes dans une même transaction de base de données. Si une requête dans un lot transactionnel échoue, toutes les modifications sont annulées.

React
Blazor

Récupération des métadonnées

Utiliser RetrieveTableMetadataAsync et RetrieveViewMetadataAsync récupérer les métadonnées de table et de vue. Pour l’accès en cache, préférez ITableMetadataCache et IViewMetadataCache à la place.

React
Blazor

Travailler avec les fichiers

À utiliser GetFileInfoAsync pour récupérer des métadonnées de fichiers ou d’images et, éventuellement, le contenu binaire d’un fichier ou d’une colonne d’image.

React
Blazor

IPowerPortalsProService Interface

Méthodes

Nom
Paramètres
Type
Description
AssociateAsyncTableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
Task<AssociateResponse>
Associe un dossier à un ou plusieurs documents apparentés via une relation de plusieurs à plusieurs.
ClearAllCachesAsyncTask<IReadOnlyList<CacheClearResult>>
Efface chaque côté Services.IClearableCache serveur (table / vue / privilège métadonnées, privilèges par utilisateur, paramètres de fichiers d’environnement) et reconstruit le Localed-Strings en cache atomiquement — les lecteurs continuent de voir les précédents chargé jusqu’à ce que le nouvel état soit entièrement rempli. Les caches paresseuses se rechargent sur le Prochaine demande qui en a besoin. Le point de terminaison HTTP derrière cet appel est verrouillé par [Authorize(Roles = « SystemAdmin »)]. Les appelants directs côté serveur devraient le faire Porte approprié à leur propre limite.
ClearCacheAsyncstring name
Task<CacheClearResult>
Ça vide un cache nommé. Déclarations null en cas d’absence d’enregistrement les correspondances name de cache (insensibles aux majuscules) ; les échecs sont enveloppée dans le résultat plutôt que jetée. Même porte d’authentification que IPowerPortalsProService.ClearAllCachesAsync.
CreateFileArchiveAsyncCreateFileArchiveRequest request
Task<FileArchiveResult>
Construit une archive (actuellement en zip ; les formats futurs sont en cours derrière le CreateFileArchiveRequest.Format enum) contenant chaque enregistrement charge utile pour la paire table/colonne nommée. Utilise la même chose par disque Chaîne de permissions en tant String,System.Boolean) que — non autorisée / manquante les lignes sont silencieusement supprimées de l’archive. Les noms de fichiers en double sont désambiguïsé par le suffixage « (2) »,« (3) », ... Donc l’archive Ne remplace jamais les entrées.
CreateRecordAsyncTableRecord record
Task<CreateResponse>
Crée un nouvel enregistrement dans Dataverse.
DeleteRecordAsyncstring tableLogicalName
Guid id
Task<DeleteResponse>
Supprime un enregistrement de Dataverse par le nom de la table et l’identifiant de l’enregistrement.
DisassociateAsyncTableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
Task<DisassociateResponse>
Supprime une association entre un enregistrement et un ou plusieurs documents liés via une relation plusieurs-à-plusieurs.
DownloadLocalizationSourceAsyncstring sourceId
string culture
Task<LocalizationDownload>
Téléchargements des clés qu’une source a contribuées à une culture durant le plus récent échauffement, comme JSON dans le même consommateur en forme d’objet imbriqué app.{culture}.json utilisent les fichiers. Destiné à la transmission de traduction — Donne le fichier à un traducteur, récupère une version traduite, dépose-le un dossier de localisation où il supprime la source originale fourni pour ces clés.
DownloadMergedLocalizationsAsyncstring culture
Task<LocalizationDownload>
Télécharge les clés de localisation fusionnées pour une culture — la post-fusion valeur gagnante pour chaque clé stockée par le cache, quelle qu’elle soit Source l’a fourni à l’origine. Utilisez cela pour un instantané complet référence (tout ce que le portail servira réellement à cette culture) plutôt que la vision par source ci-dessus.
ExecuteAsyncOrganizationRequest request
Task<OrganizationResponse>
Exécute une seule requête d’organisation contre Dataverse.
ExecuteMultipleAsyncIEnumerable<OrganizationRequest> requests
bool returnResponses
Task<List<OrganizationResponse>>
Exécute plusieurs requêtes d’organisation dans une seule transaction de base de données. Si une requête échoue, toutes les modifications du lot sont annulées.
GetCacheNamesAsyncTask<IReadOnlyList<string>>
Retourne les noms de chaque côté Services.IClearableCacheserveur , approprié pour une interface d’administration qui souhaite afficher les boutons de nettoyage par cache. Même porte d’authentification comme IPowerPortalsProService.ClearAllCachesAsync s’applique au point de terminaison HTTP.
GetFileInfoAsyncstring tableName
Guid recordId
string columnName
bool includeData
Task<FileInfo>
Récupère les informations du fichier et, éventuellement, le contenu binaire à partir d’une colonne de fichier ou d’image dans Dataverse.
GetFileInfosAsyncstring tableName
IEnumerable<Guid> recordIds
string columnName
bool includeData
Task<IEnumerable<FileInfo>>
Récupération par lots d’informations de fichiers pour de nombreux enregistrements de la même table / colonne En un seul aller-retour. En interne, les récupérations par disque sont en parallèle et Retourne la liste combinée. La même chaîne de gestionnaire d’autorisations par enregistrement s’exécute comme pour l’appel à un seul disque ; Les recherches ratées sont supprimées de la réponse plutôt que Échouer à tout le lot. Utilisé par « Download All » / « Download Select » de FileGrid afin que le client puisse créer un zip sans lancer N requêtes HTTP.
GetLocalizationOverviewAsyncTask<LocalizationOverview>
Retourne un instantané destiné à l’administrateur du pipeline de localisation de chaînes : le Configuration statique qui alimentait le réchauffement ainsi que les enregistrements de charge par source produit par le dernier échauffement. Soutient l’administrateur de la localisation dans PowerPortalsPro.Web.Blazor.FluentUI. Le point de terminaison HTTP est verrouillé par [Authorize(Roles = « SystemAdmin »)].
GetMergedLocalizationEntriesAsyncstring culture
Task<IReadOnlyList<MergedLocalizationEntry>>
Retourne les clés de localisation fusionnées d’une culture sous forme de liste structurée — chaque Clé que le cache servira, sa valeur gagnante après la fusion, et la source fournie Cette valeur. Mêmes données que DownloadMergedLocalizationsAsync(System.String) par clé annoté avec son origine (fichier / ressource web / métadonnées Dataverse) afin qu’un administrateur puisse Inspectez la provenance dans une grille. Les entrées sont triées par clé.
GetOrganizationSettingsAsyncTask<OrganizationSettings>
Récupère les paramètres organisationnels provenant du Dataverse Bilan de l’organisation : DefaultCurrency — la monnaie de base de l’organisation, utilisée par le mode création des éditeurs (MoneyEdit) pour afficher le bon symbole sur les disques tout neufs. BlockedFileExtensions + MaxUploadFileSizeInBytes — envoi de fichier Les contraintes que les clients miroirent pour rejeter les fichiers invalides avant le aller-retour. Remplace l’ancien GetEnvironmentFileSettingsAsync — les deux champs de fichier sont maintenant exposés à cette réponse combinée.
GetTablePermissionsForCurrentUserAsyncstring tableLogicalName
Task<TableSecurityPermission>
Retourne le masque combiné au niveau Models.TableSecurityPermission de la table de l’utilisateur actuel pour tableLogicalName — l’union bit par bit de Lire / Créer / Écrire / Drapeaux Delete / Append / AppendTo tout ITablePermissionHandler enregistré autorisé pour cet utilisateur sur cette table. Côté serveur, cela délègue à la cache ITablePermissionCache mise en cache ; le client WASM il atteint un point de terminaison HTTP qui appelle le même cache sur le serveur. Reflète le Recherche de cache-table Blazor’s NewRecordGridButton / DeleteRecordGridButton le fait déjà directement via DI, et la nouvelle valeur que porte le GridDataResponse est TablePermissions — exposé ici pour que les consommateurs hors du chemin de la grille (personnalisés barres d’outils, interface conditionnelle, portes « L’utilisateur peut-il créer X ? » n’importe où sur la page) Obtenez la même réponse sans lancer une requête en grille.
GetTranslationAvailabilityAsyncTask<TranslationAvailability>
Indique si la fonction de localisation-traduction est utilisable dans l’environnement actuel : si le service de traduction Azure est configuré, si la traduction a été gérée La solution est installée, et les langues cibles candidates (les cultures prises en charge par le portail annoté avec la tradupabilité Azure). Soutient la décision de l’interface utilisateur de LocalizationTranslator pour montrer le panneau de traduction, une invite d’installation, ou rien.
RetrieveRecordAsyncstring tableLogicalName
Guid id
IEnumerable<string> columns
Task<TableRecord>
Récupère un seul enregistrement depuis Dataverse par nom de table et identifiant d’enregistrement.
RetrieveRecordsAsyncstring fetchXml
Task<RetrieveRecordsResponse>
Récupère plusieurs enregistrements depuis Dataverse à l’aide d’une requête FetchXML. Prend en charge le filtrage, le tri, la pagination, les entités liées et les requêtes agrégées.
RetrieveTableMetadataAsyncstring tableLogicalName
Task<TableMetadata>
Récupère les métadonnées des tables depuis Dataverse, y compris les définitions de colonnes, les relations et la configuration d’affichage.
RetrieveViewMetadataAsyncGuid viewId
Task<ViewMetadata>
Récupère les métadonnées de la vue depuis Dataverse, y compris la requête FetchXML de la vue, les colonnes et la configuration d’affichage.
RetrieveViewsForTableAsyncstring tableLogicalName
Task<IEnumerable<ViewMetadata>>
Récupère chaque enregistrement de métadonnées de vue pour une table. Utilisé par des grilles qui doivent énumérer les vues disponibles (view-picker, résolution de la vue par défaut, etc.). L’implémentation côté serveur lit depuis IViewMetadataCache en cours ; le client WASM accède à un point de terminaison HTTP qui fait de même sur le serveur.
TranslateLocalizationFileAsyncTranslationRequest request
Task<TranslationResult>
Traduit automatiquement un fichier de localisation téléchargé en une ou plusieurs langues cibles via Azure Traducteur, réutilisation de la mémoire de traduction Dataverse et rapport du nombre de chaînes de caractères Traduit fraîchement versus réutilisé. Un fichier par langue cible plus un zip de tout.
UpdateRecordAsyncTableRecord record
Task<UpdateResponse>
Met à jour un enregistrement existant dans Dataverse. Seules les propriétés définies sur l’enregistrement sont envoyées à Dataverse.
Nom: AssociateAsync
Paramètres: TableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
Type: Task<AssociateResponse>
Description: Associe un dossier à un ou plusieurs documents apparentés via une relation de plusieurs à plusieurs.
Nom: ClearAllCachesAsync
Type: Task<IReadOnlyList<CacheClearResult>>
Description: Efface chaque côté Services.IClearableCache serveur (table / vue / privilège métadonnées, privilèges par utilisateur, paramètres de fichiers d’environnement) et reconstruit le Localed-Strings en cache atomiquement — les lecteurs continuent de voir les précédents chargé jusqu’à ce que le nouvel état soit entièrement rempli. Les caches paresseuses se rechargent sur le Prochaine demande qui en a besoin. Le point de terminaison HTTP derrière cet appel est verrouillé par [Authorize(Roles = « SystemAdmin »)]. Les appelants directs côté serveur devraient le faire Porte approprié à leur propre limite.
Nom: ClearCacheAsync
Paramètres: string name
Type: Task<CacheClearResult>
Description: Ça vide un cache nommé. Déclarations null en cas d’absence d’enregistrement les correspondances name de cache (insensibles aux majuscules) ; les échecs sont enveloppée dans le résultat plutôt que jetée. Même porte d’authentification que IPowerPortalsProService.ClearAllCachesAsync.
Nom: CreateFileArchiveAsync
Paramètres: CreateFileArchiveRequest request
Type: Task<FileArchiveResult>
Description: Construit une archive (actuellement en zip ; les formats futurs sont en cours derrière le CreateFileArchiveRequest.Format enum) contenant chaque enregistrement charge utile pour la paire table/colonne nommée. Utilise la même chose par disque Chaîne de permissions en tant String,System.Boolean) que — non autorisée / manquante les lignes sont silencieusement supprimées de l’archive. Les noms de fichiers en double sont désambiguïsé par le suffixage « (2) »,« (3) », ... Donc l’archive Ne remplace jamais les entrées.
Nom: CreateRecordAsync
Paramètres: TableRecord record
Type: Task<CreateResponse>
Description: Crée un nouvel enregistrement dans Dataverse.
Nom: DeleteRecordAsync
Paramètres: string tableLogicalName
Guid id
Type: Task<DeleteResponse>
Description: Supprime un enregistrement de Dataverse par le nom de la table et l’identifiant de l’enregistrement.
Nom: DisassociateAsync
Paramètres: TableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
Type: Task<DisassociateResponse>
Description: Supprime une association entre un enregistrement et un ou plusieurs documents liés via une relation plusieurs-à-plusieurs.
Nom: DownloadLocalizationSourceAsync
Paramètres: string sourceId
string culture
Type: Task<LocalizationDownload>
Description: Téléchargements des clés qu’une source a contribuées à une culture durant le plus récent échauffement, comme JSON dans le même consommateur en forme d’objet imbriqué app.{culture}.json utilisent les fichiers. Destiné à la transmission de traduction — Donne le fichier à un traducteur, récupère une version traduite, dépose-le un dossier de localisation où il supprime la source originale fourni pour ces clés.
Nom: DownloadMergedLocalizationsAsync
Paramètres: string culture
Type: Task<LocalizationDownload>
Description: Télécharge les clés de localisation fusionnées pour une culture — la post-fusion valeur gagnante pour chaque clé stockée par le cache, quelle qu’elle soit Source l’a fourni à l’origine. Utilisez cela pour un instantané complet référence (tout ce que le portail servira réellement à cette culture) plutôt que la vision par source ci-dessus.
Nom: ExecuteAsync
Paramètres: OrganizationRequest request
Type: Task<OrganizationResponse>
Description: Exécute une seule requête d’organisation contre Dataverse.
Nom: ExecuteMultipleAsync
Paramètres: IEnumerable<OrganizationRequest> requests
bool returnResponses
Type: Task<List<OrganizationResponse>>
Description: Exécute plusieurs requêtes d’organisation dans une seule transaction de base de données. Si une requête échoue, toutes les modifications du lot sont annulées.
Nom: GetCacheNamesAsync
Type: Task<IReadOnlyList<string>>
Description: Retourne les noms de chaque côté Services.IClearableCacheserveur , approprié pour une interface d’administration qui souhaite afficher les boutons de nettoyage par cache. Même porte d’authentification comme IPowerPortalsProService.ClearAllCachesAsync s’applique au point de terminaison HTTP.
Nom: GetFileInfoAsync
Paramètres: string tableName
Guid recordId
string columnName
bool includeData
Type: Task<FileInfo>
Description: Récupère les informations du fichier et, éventuellement, le contenu binaire à partir d’une colonne de fichier ou d’image dans Dataverse.
Nom: GetFileInfosAsync
Paramètres: string tableName
IEnumerable<Guid> recordIds
string columnName
bool includeData
Type: Task<IEnumerable<FileInfo>>
Description: Récupération par lots d’informations de fichiers pour de nombreux enregistrements de la même table / colonne En un seul aller-retour. En interne, les récupérations par disque sont en parallèle et Retourne la liste combinée. La même chaîne de gestionnaire d’autorisations par enregistrement s’exécute comme pour l’appel à un seul disque ; Les recherches ratées sont supprimées de la réponse plutôt que Échouer à tout le lot. Utilisé par « Download All » / « Download Select » de FileGrid afin que le client puisse créer un zip sans lancer N requêtes HTTP.
Nom: GetLocalizationOverviewAsync
Type: Task<LocalizationOverview>
Description: Retourne un instantané destiné à l’administrateur du pipeline de localisation de chaînes : le Configuration statique qui alimentait le réchauffement ainsi que les enregistrements de charge par source produit par le dernier échauffement. Soutient l’administrateur de la localisation dans PowerPortalsPro.Web.Blazor.FluentUI. Le point de terminaison HTTP est verrouillé par [Authorize(Roles = « SystemAdmin »)].
Nom: GetMergedLocalizationEntriesAsync
Paramètres: string culture
Type: Task<IReadOnlyList<MergedLocalizationEntry>>
Description: Retourne les clés de localisation fusionnées d’une culture sous forme de liste structurée — chaque Clé que le cache servira, sa valeur gagnante après la fusion, et la source fournie Cette valeur. Mêmes données que DownloadMergedLocalizationsAsync(System.String) par clé annoté avec son origine (fichier / ressource web / métadonnées Dataverse) afin qu’un administrateur puisse Inspectez la provenance dans une grille. Les entrées sont triées par clé.
Nom: GetOrganizationSettingsAsync
Type: Task<OrganizationSettings>
Description: Récupère les paramètres organisationnels provenant du Dataverse Bilan de l’organisation : DefaultCurrency — la monnaie de base de l’organisation, utilisée par le mode création des éditeurs (MoneyEdit) pour afficher le bon symbole sur les disques tout neufs. BlockedFileExtensions + MaxUploadFileSizeInBytes — envoi de fichier Les contraintes que les clients miroirent pour rejeter les fichiers invalides avant le aller-retour. Remplace l’ancien GetEnvironmentFileSettingsAsync — les deux champs de fichier sont maintenant exposés à cette réponse combinée.
Nom: GetTablePermissionsForCurrentUserAsync
Paramètres: string tableLogicalName
Type: Task<TableSecurityPermission>
Description: Retourne le masque combiné au niveau Models.TableSecurityPermission de la table de l’utilisateur actuel pour tableLogicalName — l’union bit par bit de Lire / Créer / Écrire / Drapeaux Delete / Append / AppendTo tout ITablePermissionHandler enregistré autorisé pour cet utilisateur sur cette table. Côté serveur, cela délègue à la cache ITablePermissionCache mise en cache ; le client WASM il atteint un point de terminaison HTTP qui appelle le même cache sur le serveur. Reflète le Recherche de cache-table Blazor’s NewRecordGridButton / DeleteRecordGridButton le fait déjà directement via DI, et la nouvelle valeur que porte le GridDataResponse est TablePermissions — exposé ici pour que les consommateurs hors du chemin de la grille (personnalisés barres d’outils, interface conditionnelle, portes « L’utilisateur peut-il créer X ? » n’importe où sur la page) Obtenez la même réponse sans lancer une requête en grille.
Nom: GetTranslationAvailabilityAsync
Type: Task<TranslationAvailability>
Description: Indique si la fonction de localisation-traduction est utilisable dans l’environnement actuel : si le service de traduction Azure est configuré, si la traduction a été gérée La solution est installée, et les langues cibles candidates (les cultures prises en charge par le portail annoté avec la tradupabilité Azure). Soutient la décision de l’interface utilisateur de LocalizationTranslator pour montrer le panneau de traduction, une invite d’installation, ou rien.
Nom: RetrieveRecordAsync
Paramètres: string tableLogicalName
Guid id
IEnumerable<string> columns
Type: Task<TableRecord>
Description: Récupère un seul enregistrement depuis Dataverse par nom de table et identifiant d’enregistrement.
Nom: RetrieveRecordsAsync
Paramètres: string fetchXml
Type: Task<RetrieveRecordsResponse>
Description: Récupère plusieurs enregistrements depuis Dataverse à l’aide d’une requête FetchXML. Prend en charge le filtrage, le tri, la pagination, les entités liées et les requêtes agrégées.
Nom: RetrieveTableMetadataAsync
Paramètres: string tableLogicalName
Type: Task<TableMetadata>
Description: Récupère les métadonnées des tables depuis Dataverse, y compris les définitions de colonnes, les relations et la configuration d’affichage.
Nom: RetrieveViewMetadataAsync
Paramètres: Guid viewId
Type: Task<ViewMetadata>
Description: Récupère les métadonnées de la vue depuis Dataverse, y compris la requête FetchXML de la vue, les colonnes et la configuration d’affichage.
Nom: RetrieveViewsForTableAsync
Paramètres: string tableLogicalName
Type: Task<IEnumerable<ViewMetadata>>
Description: Récupère chaque enregistrement de métadonnées de vue pour une table. Utilisé par des grilles qui doivent énumérer les vues disponibles (view-picker, résolution de la vue par défaut, etc.). L’implémentation côté serveur lit depuis IViewMetadataCache en cours ; le client WASM accède à un point de terminaison HTTP qui fait de même sur le serveur.
Nom: TranslateLocalizationFileAsync
Paramètres: TranslationRequest request
Type: Task<TranslationResult>
Description: Traduit automatiquement un fichier de localisation téléchargé en une ou plusieurs langues cibles via Azure Traducteur, réutilisation de la mémoire de traduction Dataverse et rapport du nombre de chaînes de caractères Traduit fraîchement versus réutilisé. Un fichier par langue cible plus un zip de tout.
Nom: UpdateRecordAsync
Paramètres: TableRecord record
Type: Task<UpdateResponse>
Description: Met à jour un enregistrement existant dans Dataverse. Seules les propriétés définies sur l’enregistrement sont envoyées à Dataverse.