Dinamica linq

Solo disponible en BuenasTareas
  • Páginas : 21 (5181 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de mayo de 2011
Leer documento completo
Vista previa del texto
Dinámica de LINQ

(Parte 1: Uso de la biblioteca de consultas con LINQ dinámico)
LINQ (lenguaje de consulta integrado) es una de las nuevas funciones con VS 2008 y. NET 3.5. LINQ hace que el concepto de consultar datos de un concepto de clase por primera vez en la programación. NET, y le permite expresar de manera eficiente las consultas en el lenguaje de programación de la elección.
Una delas ventajas de LINQ es que le permite escribir consultas con seguridad de tipos en Visual Basic y C #. Esto significa que usted obtiene en tiempo de compilación control de las consultas LINQ, y intellisense y el apoyo de refactorización en el código:

Si bien la escritura de consultas con seguridad de tipos es grande para la mayoría de los escenarios, hay casos en los que desean la flexibilidadpara construir dinámicamente las consultas sobre la marcha. Por ejemplo: es posible que desee proporcionar la interfaz de usuario de Business Intelligence dentro de la aplicación que permite a un analista de negocios para el usuario final de usar menús desplegables para construir y expresar sus propias consultas personalizadas / puntos de vista en la parte superior de los datos.
Tradicionalmenteeste tipo de escenarios de consulta dinámica se han manejado mediante la concatenación de cadenas en conjunto para construir consultas SQL dinámico. Recientemente algunas personas me han enviado por correo preguntando cómo manejar este tipo de escenarios mediante LINQ. El siguiente mensaje se describe cómo se puede utilizar una dinámica de consulta Biblioteca proporcionada por el equipo de LINQpara construir dinámicamente las consultas LINQ.
Descarga de la dinámica de la colección de consultas LINQ
Incluido en el 2008 muestras VS página de descarga son punteros a VB y C # de ejemplo que los paquetes incluyen un fresco consulta dinámica biblioteca auxiliar LINQ. punteros directos a la biblioteca de consulta dinámica (y la documentación al respecto) se pueden encontrar a continuación:* VB dinámica de consulta Biblioteca (incluido en el lenguaje Samples \ \ LINQ Samples \ DynamicQuery)
* C # dinámica de consulta Biblioteca (incluido en el LinqSamples \ \ directorio DynamicQuery)
Tanto la VB y C # DynamicQuery muestras incluyen una implementación de código de una biblioteca auxiliar que le permite expresar consultas LINQ con métodos de extensión que toman argumentos decadena en lugar de los operadores del lenguaje de tipo seguro. Usted puede copiar y pegar o de C # o VB implementaciones de la biblioteca DynamicQuery en sus propios proyectos y luego utilizarlo en su caso, para construir de forma más dinámica las consultas LINQ basado en las aportaciones de los usuarios finales.
Consultas sencillas Ejemplo Biblioteca dinámica
Puede utilizar la bibliotecaDynamicQuery en contra de cualquier proveedor de datos de LINQ (incluyendo LINQ to SQL , LINQ to Objects, LINQ to XML, LINQ to Entities, LINQ to SharePoint , LINQ to TerraServer , etc.) En lugar de utilizar los operadores del lenguaje o los métodos de la lambda con seguridad de tipos de extensión para la construcción de las consultas LINQ, la biblioteca de consulta dinámica que proporciona los métodos deextensión basados ​​en cadena que puede pasar cualquier expresión de cadena en.
Por ejemplo, a continuación es un estándar de seguridad de tipos de LINQ to SQL VB consulta que recupera datos de una base de datos Northwind y la muestra en un control ASP.NET GridView:

Uso de la colección de LINQ DynamicQuery pude volver a escribir la expresión de consulta anterior en su lugar, así:

Observecómo el condicional en la cláusula y la cláusula tipo-orderby ahora toman expresiones de cadena en lugar de las expresiones de código.Debido a que son cadenas en tiempo de ejecución que puedan construir de forma dinámica. Por ejemplo: yo podría proporcionar la interfaz de usuario a un analista de negocios para el usuario final utilizando mi aplicación que les permite crear consultas por su cuenta...
tracking img