Share via


Consultas: Recuperar información de un origen de datos

Se utiliza una consulta para devolver datos que coincidan con un conjunto de criterios.Por ejemplo, si desea saber cuántos de sus clientes viven en los Estados Unidos, debe crear una consulta que examine una lista de clientes y compruebe el país o región especificada en su dirección.

Se pueden crear consultas y guardarlas en el modelo de la aplicación.Se pueden especificar los criterios de búsqueda mediante el diseñador de consultas.Si el diseñador de consultas no le ofrece la funcionalidad que necesita, puede ampliar las consultas escribiendo código.Cuando haya especificado sus criterios, utilice las consultas en una pantalla o ejecútelas como parte de la lógica de su negocio.

Crear una consulta

Puede crear consultas en el Explorador de soluciones.Una consulta está basada solamente en una entidad o tabla en el modelo de la aplicación (por ejemplo, una entidad Customer ).Una consulta también puede estar basada en otras consultas en el modelo de su aplicación.La entidad, la tabla o la consulta en la que se basa la consulta se denomina datos de origen de la consulta.Para obtener más información, vea Cómo: Agregar, quitar y modificar una consulta.

Diseñar una consulta con el diseñador de consultas

En la mayoría de los casos, puede diseñar una consulta visualmente mediante el diseñador de consultas.Agregue condiciones de filtro y grupos de filtros, ordenar términos y parámetros a una consulta realizando las selecciones en el diseñador.Para obtener más información, vea Cómo: Diseñar una consulta usando el Diseñador de consultas.

Ee256728.collapse_all(es-es,VS.110).gifCondiciones de filtro

Puede restringir los resultados de una consulta agregando una o varias condiciones de filtro.Una condición de filtro describe una regla que debe ser cumplida por cada fila de datos.Las filas que cumplen la regla están incluidas en los resultados de la consulta.Una condición de filtro contiene las siguientes tres partes básicas:

  • Una propiedad de selección

  • Un valor de comparación

  • Un operador

Una propiedad de selección es la propiedad que desea utilizar como base de la condición de filtro.Por ejemplo, para devolver los pedidos de ventas que tienen una fecha de pedido concreta, la propiedad de selección es OrderDate.Una propiedad de selección puede ser una propiedad en los datos de origen o una propiedad de una entidad relacionada o de una tabla.En el diseñador de consultas, las propiedades aparecen solamente para entidades o tablas relacionadas que tienen una multiplicidad de cero a uno o uno.Por ejemplo, un pedido de ventas tiene solo un cliente.Por consiguiente, en una consulta que devuelve los pedidos de ventas, puede seleccionar las propiedades del cliente relacionado como parte de una condición de filtro.Si se desea utilizar una propiedad en una entidad o tabla relacionada que tiene una multiplicidad de muchas otras, debe extender la consulta utilizando código.

El valor de comparación se compara con la propiedad de selección.Un valor de comparación puede ser un valor literal como la cadena "9/22/2009 12:00:00 AM", una propiedad de selección, un parámetro o un valor relativo como Ahora, Hoy o Inicio de la semana.

Un operador es un símbolo que especifica el tipo de comparación que desea realizar.Por ejemplo, para devolver los pedidos de ventas que tienen una fecha de pedido anterior a 22/09/2009 12:00:00 a.m., seleccione el operador "<" (menor que).

La condición de filtro completa descrita en el ejemplo es Where OrderDate < 9/22/2009 12:00:00 AM.

Se puede relacionar una condición de filtro con otras condiciones de grupos mediante uno de los siguientes operadores lógicos: And, Or, And Not, Or Not.

Puede cambiar el orden de las condiciones arrastrándolas a la posición deseada en el diseñador.

La siguiente ilustración muestra las partes de una condición de filtro.

Condiciones de filtro en una consulta

Ee256728.collapse_all(es-es,VS.110).gifGrupos de filtro

Se pueden agrupar las condiciones de filtro de manera que se evalúen como una unidad única independiente del resto de las condiciones de filtro.Para hacerlo, cree un grupo de filtros en el diseñador de consultas.

Agrupar condiciones de filtro es como incluir entre paréntesis una expresión de una ecuación matemática o de un enunciado lógico.Al agrupar las condiciones, el operador lógico que aparece antes de la primera condición en un grupo se aplica al grupo entero.

Al igual que las condiciones de filtro individuales, se puede cambiar el orden de agrupación de los filtros arrastrándolos a la posición deseada en el diseñador.

En la siguiente ilustración se muestran dos grupos de filtros.

Grupos de filtro en una consulta

Ee256728.collapse_all(es-es,VS.110).gifTérminos de ordenación

Se puede especificar el orden predeterminado en el que aparecen los registros de una consulta agregando uno o más términos de ordenación.Un término de ordenación contiene una propiedad y una dirección (por ejemplo, OrderDate y Ascending).Las términos de ordenación definen el criterio de ordenación predeterminado de registros que aparecen en una pantalla.Los usuarios pueden ver los registros en un orden diferente realizando las selecciones en la interfaz de usuario de la pantalla.En el diseñador de consultas, puede cambiar el orden de los términos de ordenación arrastrándolos a la posición deseada en la lista.

Ee256728.collapse_all(es-es,VS.110).gifParámetros

Puede permitir a los usuarios filtrar los resultados de la consulta dinámicamente.Por ejemplo, se puede habilitar a un usuario para ver una lista de pedidos de ventas regionales mediante la selección de un territorio de ventas en una pantalla.Para admitir este escenario, agregue un parámetro a una consulta y denomine la consulta de forma apropiada (por ejemplo, SalesTerritory).A continuación, establezca el valor de comparación de un filtro en el parámetro.Por ejemplo, la expresión de consulta podría ser Where TerritoryID = SalesTerritory.

Se pueden diseñar pantallas que permitan a los usuarios proporcionar el valor del parámetro en tiempo de ejecución.Para obtener más información, vea Cómo: Proporcionar un valor a un parámetro de consulta.

Ampliar una consulta mediante código

El diseñador de consultas no admite algunos tipos de condiciones de filtro.Si se encuentra una limitación en el diseñador, puede agregar las condiciones a su consulta utilizando el código.

[!NOTA]

No se puede extender la consulta de una pantalla.Sólo se pueden ampliar consultas que aparecen en el Explorador de soluciones.Para obtener más información sobre la modificación de una consulta de una pantalla, vea Cómo: Filtrar datos en una pantalla de Silverlight.

En la siguiente tabla se muestran dos condiciones de filtro que no puede crear utilizando el diseñador de consultas.

Condición de filtro

Razón para utilizar el código

Devuelve los 10 mejores clientes basado en el número de pedidos de ventas.

Para determinar el número de pedidos de ventas, se debe utilizar la operación Count.Las operaciones como Count, Aggregate y Sum no están disponibles en el diseñador de consultas.

Devuelve todos los clientes que compraron una carretilla de mano.

Para determinar si un cliente compró una carretilla de mano, necesita utilizar una condición de filtro que haga referencia a una entidad Product.Dado que un cliente puede estar asociado a varios productos, la entidad Product probablemente exista en muchas partes de una relación Customer-Product.El diseñador de consultas no habilita la navegación a muchas partes de una relación.

Para solucionar la limitación, agregue el código personalizado a un método al que se llama cuando se ejecuta la consulta.Para obtener más información, vea Cómo: Extender una consulta usando código.

En su código, puede definir condiciones de filtro utilizando la sintaxis estándar de LINQ.Cuando se ejecuta la consulta, las condiciones que define en el diseñador se combinan con las condiciones que especifica en el código para generar el resultado de la consulta.

Todas las condiciones que se definen en el código no aparecen como condiciones de filtro en el diseñador de consultas.De igual forma, las condiciones de filtro que se agregan utilizando el diseñador de consultas no aparecen en el método.Si desea agregar un parámetro a una consulta, hágalo utilizando el diseñador de consultas.Los parámetros que agrega utilizando el diseñador de consultas aparecen en la lista de parámetros del método.

Utilizar un consulta

Puede utilizar una consulta en una pantalla o ejecutar la consulta en código como parte de una operación comercial.

Ee256728.collapse_all(es-es,VS.110).gifUtilizar un consulta en una pantalla

Puede crear una pantalla que esté basada en una consulta personalizada (por ejemplo, una pantalla que muestra una lista de clientes que viven en los Estados Unidos).Para obtener más información, vea Cómo: Crear una pantalla de Silverlight.

Puede agregar varias consultas a una pantalla.Por ejemplo, podría diseñar una consulta que muestre una lista de pedidos de ventas de un cliente determinado.Puede agregar esa consulta a la pantalla Cliente.A continuación, puede permitir al usuario seleccionar un cliente para ver todos los pedidos de ventas relacionados.Para obtener más información sobre cómo hacerlo, vea Cómo: Proporcionar un valor a un parámetro de consulta.

Ee256728.collapse_all(es-es,VS.110).gifUtilizar una consulta en el código

Se pueden recuperar las consultas del modelo de la aplicación y, a continuación, ejecutarlas en el código.Esto le permite trabajar con colecciones concretas de datos en la lógica comercial de su aplicación.Para obtener más información, vea Cómo: Recuperar datos de una consulta usando código.

Temas relacionados

Título

Descripción

Cómo: Agregar, quitar y modificar una consulta

Explica dónde se puede agregar una consulta en la interfaz de usuario Visual Studio LightSwitch.

Cómo: Diseñar una consulta usando el Diseñador de consultas

Describe cómo definir las condiciones de filtro, los parámetros y los términos de ordenación de una consulta utilizando un diseñador visual.

Cómo: Proporcionar un valor a un parámetro de consulta

Describe cómo permitir a los usuarios proporcionar un valor a un parámetro de consulta.

Cómo: Extender una consulta usando código

Describe cómo modificar una consulta de forma que mejore las capacidades del diseñador de consultas.

Cómo: Controlar eventos de consulta

Describe cómo manejar los eventos que se producen antes y después de que sea ejecutada una consulta.

Cómo: Recuperar datos de una consulta usando código

Describe cómo recuperar y ejecutar una consulta utilizando código.

Referencia: Propiedades del Diseñador de consultas

Describe las propiedades y los elementos de consulta.Puede establecer los valores de las propiedades en la ventana Propiedades.