Ordine dei risultati usando gli attributi di entità con LINQ
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
In Microsoft Dynamics 365 e Microsoft Dynamics 365 (online), è possibile utilizzare gli attributi di tipo lookup o gli attributi di tipo set di opzioni (elenco a discesa) per ordinare i risultati in una query LINQ. In questo argomento vengono illustrati diversi esempi di questo tipo di query.
Utilizzo di un valore di tipo lookup per ordinare
Nell'esempio di seguito viene illustrato come utilizzare l'attributo di tipo lookup PrimaryContactId in una clausola 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
Utilizzo di un elenco a discesa per ordinare
Nell'esempio di seguito viene illustrato come utilizzare un valore di tipo lookup per ordinare.
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
Vedere anche
Creare query con LINQ (.NET language-integrated query)
Eseguire il paging dei set di risultati di grandi dimensioni con LINQ
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright