Partager via


Utiliser les outils XRM pour récupérer des données

Il existe de nombreuses méthodes disponibles dans les classes CrmServiceClient et ServiceClient pour récupérer les données dans Microsoft Dataverse. Les exemples suivants expliquent comment récupérer un enregistrement par ID ou requête FetchXML.

Lisez les informations importantes suivantes sur l’utilisation d’une chaîne de connexion dans le code d’application.

Important

Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d’authentification décrit dans cet article nécessite un très haut degré de confiance dans l’application et comporte des risques qui ne sont pas présents dans d’autres flux. Vous ne devez utiliser ce flux que lorsque d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.

GetEntityDataById

Cette méthode recherche une table par l’ID spécifié. Dans cet exemple, nous spécifions null pour la valeur de la liste de champs pour extraire toutes les colonnes de l’enregistrement de table spécifié (compte), puis nous affichons le nom de l’enregistrement de compte récupéré.

Lors de l’utilisation de la classe ServiceClient, vous pouvez trouver la méthode Get ici : QueryExtensions.GetEntityDataById

CrmServiceClient svc = new CrmServiceClient(connectionstring); 
// ServiceClient svc = new ServiceClient(connectionstring); 
  
// Verify that you are connected.  
if (svc != null && svc.IsReady)  
{  
    Dictionary<string, object> data = svc.GetEntityDataById("account", <Account_ID>, null);  
    foreach (var pair in data)  
    {  
        if (pair.Key == "name")  
        {  
            Console.WriteLine("Name of the account is {0}", pair.Value);  
        }  
    }  
}  
else  
{  
    // Display the last error.  
    Console.WriteLine("An error occurred: {0}", svc.LastCrmError);  
  
    // Display the last exception message if any.  
    Console.WriteLine(svc.LastCrmException.Message);  
    Console.WriteLine(svc.LastCrmException.Source);  
    Console.WriteLine(svc.LastCrmException.StackTrace);  
  
    return;  
}  
  

GetEntityDataByFetchSearchEC

Cette méthode recherche la table en fonction de la requête FetchXML spécifiée. Dans cet exemple, nous affichons et récupérons le nombre des enregistrements de compte dans le système.

Lors de l’utilisation de la classe ServiceClient, la méthode Get se trouve ici : QueryExtensions.GetEntityDataByFetchSearch

CrmServiceClient svc = new CrmServiceClient(connectionstring);
// ServiceClient svc = new ServiceClient(connectionstring);  
  
// Verify that you are connected.  
if (svc != null && svc.IsReady)  
{   
    string fetchXML =   
        @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' returntotalrecordcount='true' >  
            <entity name='account'>  
              <attribute name='accountid' />  
            </entity>  
        </fetch>";  
    var queryResult = crmSvc.GetEntityDataByFetchSearchEC(fetchXML);  
    if (queryResult != null)  
    {  
        Console.WriteLine(String.Format("Account Records Count : {0}", queryResult.TotalRecordCount));  
    }  
}  
else  
{  
    // Display the last error.  
    Console.WriteLine("An error occurred: {0}", svc.LastCrmError);  
  
    // Display the last exception message if any.  
    Console.WriteLine(svc.LastCrmException.Message);  
    Console.WriteLine(svc.LastCrmException.Source);  
    Console.WriteLine(svc.LastCrmException.StackTrace);  
  
    return;  
}  

Voir aussi

Utiliser les outils XRM pour se connecter à Dataverse
Utiliser l’API des outils XRM pour exécuter des actions dans Dataverse