Trier les résultats en utilisant les attributs d’entité avec LINQ

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Dans Microsoft Dynamics CRM 2015 et Microsoft Dynamics CRM Online, vous pouvez utiliser la recherche ou les attributs du groupe d’options (liste déroulante) pour ordonner les résultats au sein d’une requête LINQ. Cette rubrique présente plusieurs exemples de ce type de requête.

Utilisation d’une valeur de recherche sur laquelle trier

L’exemple suivant montre l’utilisation de l’attribut de recherche PrimaryContactId dans une clause Order By.


using (ServiceContext svcContext = new ServiceContext(_serviceProxy))
{
 var query_orderbylookup = from a in svcContext.AccountSet
                           where a.Address1_Name == "Contoso Pharmaceuticals"
                           orderby a.PrimaryContactId
                           select new
                           {
                            a.Name,
                            a.Address1_City
                           };
 foreach (var a in query_orderbylookup)
 {
  System.Console.WriteLine(a.Name + " " + a.Address1_City);
 }
}

Using svcContext As New ServiceContext(_serviceProxy)
 Dim query_orderbylookup = From a In svcContext.AccountSet _
                           Where a.Address1_Name.Equals("Contoso Pharmaceuticals") _
                           Order By a.PrimaryContactId _
                           Select New With {Key a.Name,
                                            Key a.Address1_City}
 For Each a In query_orderbylookup
  Console.WriteLine(a.Name & " " & a.Address1_City)
 Next a
End Using

Utilisation d’une liste déroulante sur laquelle trier

L’exemple suivant montre l’utilisation d’une valeur de recherche sur laquelle trier.


using (ServiceContext svcContext = new ServiceContext(_serviceProxy))
{
 var query_orderbypicklist = from c in svcContext.ContactSet
                             where c.LastName != "Parker" &&
                             c.AccountRoleCode != null
                             orderby c.AccountRoleCode, c.FirstName
                             select new
                             {
                              AccountRole = c.FormattedValues["accountrolecode"],
                              c.FirstName,
                              c.LastName
                             };
 foreach (var c in query_orderbypicklist)
 {
  System.Console.WriteLine(c.AccountRole + " " +
   c.FirstName + " " + c.LastName);
 }
}

Using svcContext As New ServiceContext(_serviceProxy)
 Dim query_orderbypicklist = From c In svcContext.ContactSet _
                             Where c.LastName IsNot "Parker" _
                             AndAlso c.AccountRoleCode IsNot Nothing _
                             Order By c.AccountRoleCode, c.FirstName _
                             Select New With
                                    {Key .AccountRole =
                                        c.FormattedValues("accountrolecode"),
                                     Key c.FirstName, Key c.LastName}
 For Each c In query_orderbypicklist
  Console.WriteLine(c.AccountRole & " " & c.FirstName _
                    & " " & c.LastName)
 Next c
End Using

Voir aussi

Générer des requêtes avec LINQ (Language-Integrated Query .NET)
Mettre en page d’importants ensembles de résultats avec LINQ

© 2017 Microsoft. Tous droits réservés. Copyright