Ordenar resultados mediante atributos de entidad con LINQ
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
En Microsoft Dynamics CRM 2015 y Microsoft Dynamics CRM Online, puede usar los atributos de búsqueda o de OptionSet (picklist) para ordenar los resultados de una consulta LINQ. Este tema muestra varios ejemplos de este tipo de consulta.
Uso de un valor de búsqueda para ordenar
El siguiente ejemplo muestra el uso del atributo de búsqueda PrimaryContactId en una cláusula 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
Uso de una lista desplegable para ordenar
El siguiente ejemplo muestra el uso de un valor de búsqueda para ordenar.
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
Ver también
Crear consultas con LINQ (consulta integrada del lenguaje .NET)
Páginar grandes conjuntos de resultados con LINQ
© 2017 Microsoft. Todos los derechos reservados. Copyright