Compartir a través de


Clase genérica EntityQuery

Representa una consulta LINQ sobre una colección de entidades.

Espacio de nombres: System.ServiceModel.DomainServices.Client
Ensamblado: System.ServiceModel.DomainServices.Client (en system.servicemodel.domainservices.client.dll)

Uso

'Uso
Dim instance As EntityQuery(Of TEntity)

Sintaxis

'Declaración
Public NotInheritable Class EntityQuery(Of TEntity As Entity)
    Inherits EntityQuery
public sealed class EntityQuery<TEntity> : EntityQuery where TEntity : Entity
generic<typename TEntity> where TEntity : Entity
public ref class EntityQuery sealed : public EntityQuery

GenericParameters

  • TEntity
    Tipo de entidad.

Ejemplo

El código siguiente muestra cómo recuperar clientes desde el servicio de dominio. Filtra los clientes con números de teléfono que comienzan por 583 y los ordena alfabéticamente según LastName. Los resultados se muestran en una DataGrid.

Partial Public Class MainPage
    Inherits UserControl

    Private _customerContext As New CustomerDomainContext

    Public Sub New()
        InitializeComponent()

        Dim query As EntityQuery(Of Customer)

        query = _
            From c In Me._customerContext.GetCustomersQuery() _
            Where c.Phone.StartsWith("583") _
            Order By c.LastName

        Dim loadOp = Me._customerContext.Load(query)
        CustomerGrid.ItemsSource = loadOp.Entities
    End Sub

End Class
public partial class MainPage : UserControl
{
    private CustomerDomainContext _customerContext = new CustomerDomainContext();

    public MainPage()
    {
        InitializeComponent();
        EntityQuery<Customer> query = 
            from c in _customerContext.GetCustomersQuery()
            where c.Phone.StartsWith("583")
            orderby c.LastName
            select c;
        LoadOperation<Customer> loadOp = this._customerContext.Load(query);
        CustomerGrid.ItemsSource = loadOp.Entities;
    }
}

Notas

En la aplicación cliente, puede aplicar un filtrado adicional sobre una consulta para restringir las entidades que se van a devolver. Se utiliza LINQ y un subconjunto de operaciones de consulta LINQ para modificar los resultados que devuelve la consulta. A continuación, se enumeran los operadores de consulta disponibles:

  • Where

  • OrderBy

  • ThenBy

  • Skip

  • Take

Una vez haya aplicado el filtrado adicional, pase el objeto EntityQuery como un parámetro en el método Load para ejecutar la consulta y obtener los resultados. Si la consulta cuenta con una clase QueryAttribute con la propiedad IsComposable que esté establecida en false, no podrá aplicar un filtrado adicional en la consulta. Por lo general, solamente las consultas que devuelven una única entidad tendrán IsComposable establecida en false.

Jerarquía de herencia

System.Object
   System.ServiceModel.DomainServices.Client.EntityQuery
    System.ServiceModel.DomainServices.Client.EntityQuery

Seguridad para subprocesos

Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Plataformas

Plataformas de desarrollo

Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000

Plataformas de destino

Change History

Vea también

Referencia

Miembros EntityQuery
Espacio de nombres System.ServiceModel.DomainServices.Client