Este tema aún no ha recibido ninguna valoración - Valorar este tema

LinqDataSource (Clase)

Permite el uso de Language-Integrated Query (LINQ) en una página web ASP.NET a través de texto de marcado para recuperar y modificar los datos de un objeto de datos.

Espacio de nombres:  System.Web.UI.WebControls
Ensamblado:  System.Web.Extensions (en System.Web.Extensions.dll)
[ToolboxBitmapAttribute(typeof(LinqDataSource), "LinqDataSource.bmp")]
public class LinqDataSource : ContextDataSource, 
	IDynamicDataSource, IDataSource
<asp:LinqDataSource />

El tipo LinqDataSource expone los siguientes miembros.

  Nombre Descripción
Método público LinqDataSource Inicializa una nueva instancia de la clase LinqDataSource.
Arriba
  Nombre Descripción
Propiedad protegida Adapter Obtiene el adaptador específico del explorador para el control. (Se hereda de Control).
Propiedad pública AppRelativeTemplateSourceDirectory Obtiene o establece el directorio virtual relativo a la aplicación del objeto Page o el objeto UserControl que contiene este control. (Se hereda de Control).
Propiedad pública AutoGenerateOrderByClause Obtiene o establece un valor que indica si el control LinqDataSource crea dinámicamente una cláusula Order By según los valores de la colección OrderByParameters.
Propiedad pública AutoGenerateWhereClause Obtiene o establece un valor que indica si el control LinqDataSource crea dinámicamente una cláusula Where según los valores definidos en la colección WhereParameters.
Propiedad pública AutoPage Obtiene o establece un valor que indica si el control LinqDataSource admite la navegación entre las secciones de datos en tiempo de ejecución.
Propiedad pública AutoSort Obtiene o establece un valor que indica si el control LinqDataSource permite ordenar los datos en tiempo de ejecución.
Propiedad pública BindingContainer Infraestructura. Obtiene el control que contiene el enlace de datos de este control. (Se hereda de Control).
Propiedad protegida ChildControlsCreated Obtiene un valor que indica si se han creado controles secundarios del control de servidor. (Se hereda de Control).
Propiedad pública ClientID Obtiene el identificador del control de servidor generado por ASP.NET. (Se hereda de DataSourceControl).
Propiedad pública ClientIDMode Esta propiedad no se utiliza para los controles de orígenes de datos. (Se hereda de DataSourceControl).
Propiedad protegida ClientIDSeparator Obtiene un valor de carácter que representa el carácter separado utilizado en la propiedad ClientID. (Se hereda de Control).
Propiedad protegida Context Obtiene el objeto HttpContext asociado al control de servidor para la solicitud Web actual. (Se hereda de Control).
Propiedad pública ContextTypeName Obtiene o establece el nombre del tipo que contiene la propiedad cuyo valor tiene los datos que desea recuperar. (Invalida a ContextDataSource.ContextTypeName).
Propiedad pública Controls Obtiene un objeto ControlCollection que representa los controles secundarios para un control de servidor especificado en la jerarquía de la interfaz de usuario. (Se hereda de DataSourceControl).
Propiedad pública DataItemContainer Obtiene una referencia al contenedor de nomenclatura si este implementa IDataItemContainer. (Se hereda de Control).
Propiedad pública DataKeysContainer Obtiene una referencia al contenedor de nomenclatura si este implementa IDataKeysControl. (Se hereda de Control).
Propiedad pública DeleteParameters La clase LinqDataSource no emplea esta propiedad.
Propiedad protegida DesignMode Obtiene un valor que indica si se está utilizando un control en una superficie de diseño. (Se hereda de Control).
Propiedad pública EnableDelete Obtiene o establece un valor que indica si los registros de datos se pueden eliminar a través del control LinqDataSource.
Propiedad pública EnableInsert Obtiene o establece un valor que indica si los registros de datos se pueden insertar a través del control LinqDataSource.
Propiedad pública EnableObjectTracking Obtiene o establece el valor que indica si se realiza un seguimiento de los cambios en el objeto de contexto de datos.
Propiedad pública EnableTheming Obtiene un valor que indica si el control admite temas. (Se hereda de DataSourceControl).
Propiedad pública EnableUpdate Obtiene o establece un valor que indica si los registros de datos se pueden actualizar a través del control LinqDataSource.
Propiedad pública EnableViewState Obtiene o establece un valor que indica si el control de servidor debe mantener su estado de vista y el de los controles secundarios que contiene, en el cliente que realiza la solicitud. (Se hereda de Control).
Propiedad protegida EntitySetName Obtiene o establece el nombre de la propiedad o campo del objeto de origen de datos que representa una recolección de datos. (Se hereda de ContextDataSource).
Propiedad pública EntityTypeName Obtiene o establece el nombre del tipo que se crea para las operaciones de inserción, eliminación y actualización. (Se hereda de ContextDataSource).
Propiedad protegida Events Obtiene una lista de delegados de controladores de eventos del control. Esta propiedad es de sólo lectura. (Se hereda de Control).
Propiedad pública GroupBy Obtiene o establece un valor que especifica qué propiedades se utilizan para agrupar los datos recuperados.
Propiedad pública GroupByParameters Obtiene la colección de parámetros que se usan para crear la cláusula Group By.
Propiedad protegida HasChildViewState Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen guardada alguna configuración del estado de vista. (Se hereda de Control).
Propiedad pública ID Obtiene o establece el identificador de programación asignado al control de servidor. (Se hereda de Control).
Propiedad protegida IdSeparator Infraestructura. Obtiene el carácter utilizado para separar los identificadores de control. (Se hereda de Control).
Propiedad pública InsertParameters Obtiene la colección de parámetros que se usan durante una operación de inserción.
Propiedad protegida IsChildControlStateCleared Obtiene un valor que indica si los controles que se encuentran en este control tienen estado de control. (Se hereda de Control).
Propiedad protegida IsTrackingViewState Obtiene un valor que indica si el control de servidor está guardando los cambios realizados en su estado de vista. (Se hereda de Control).
Propiedad protegida IsViewStateEnabled Obtiene un valor que indica si el estado de vista está habilitado para este control. (Se hereda de Control).
Propiedad protegida LoadViewStateByID Obtiene un valor que indica si el control participa en la carga de su estado de vista mediante ID en lugar de índice. (Se hereda de Control).
Propiedad pública NamingContainer Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar los distintos controles de servidor que tienen el mismo valor para la propiedad Control.ID. (Se hereda de Control).
Propiedad pública OrderBy Obtiene o establece un valor que especifica qué campos se utilizan para ordenar los datos recuperados.
Propiedad pública OrderByParameters Obtiene la colección de parámetros que se usan para crear la cláusula Order By.
Propiedad pública OrderGroupsBy Obtiene o establece los campos que se utilizan para ordenar los datos agrupados.
Propiedad pública OrderGroupsByParameters Obtiene la colección de parámetros que se usan para crear la cláusula Order Groups By.
Propiedad pública Page Obtiene una referencia a la instancia Page que contiene el control de servidor. (Se hereda de Control).
Propiedad pública Parent Obtiene una referencia al control principal del control de servidor en la jerarquía de controles de página. (Se hereda de Control).
Propiedad pública RenderingCompatibility Obtiene o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados. (Se hereda de Control).
Propiedad pública Select Obtiene o establece las propiedades y los valores calculados que se incluyen en los datos recuperados.
Propiedad pública SelectParameters Obtiene la colección de parámetros que se usan durante una operación de recuperación de datos.
Propiedad pública Site Obtiene información sobre el contenedor en que se encuentra el control actual cuando se representa en una superficie de diseño. (Se hereda de Control).
Propiedad pública SkinID Obtiene la máscara que se va a aplicar al control DataSourceControl. (Se hereda de DataSourceControl).
Propiedad pública StoreOriginalValuesInViewState Obtiene o establece un valor que indica si los datos del origen de datos deberían almacenarse en el estado de vista para asegurarse de que otro proceso no ha cambiado los datos antes de actualizarlos o eliminarlos.
Propiedad pública TableName Obtiene o establece el nombre de la propiedad o campo de la clase de contexto de datos que representa una recolección de datos.
Propiedad pública TemplateControl Obtiene o establece una referencia a la plantilla que contiene este control. (Se hereda de Control).
Propiedad pública TemplateSourceDirectory Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual. (Se hereda de Control).
Propiedad pública UniqueID Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Se hereda de Control).
Propiedad pública UpdateParameters La clase LinqDataSource no emplea esta colección.
Propiedad protegida ViewState Obtiene un diccionario con información de estado que le permite guardar y restaurar el estado de vista de un control de servidor en las distintas solicitudes de la misma página. (Se hereda de Control).
Propiedad protegida ViewStateIgnoresCase Obtiene un valor que indica si el objeto StateBag no distingue mayúsculas de minúsculas. (Se hereda de Control).
Propiedad pública ViewStateMode Obtiene o establece el modo del estado de vista de este control. (Se hereda de Control).
Propiedad pública Visible Obtiene o establece un valor que indica si el control se muestra gráficamente. (Se hereda de DataSourceControl).
Propiedad pública Where Obtiene o establece un valor que especifica qué condiciones deben cumplirse para que un registro se incluya en los datos recuperados.
Propiedad pública WhereParameters Obtiene la colección de parámetros que se utiliza para crear la cláusula Where.
Arriba
  Nombre Descripción
Método protegido AddedControl Se le llama una vez que se ha agregado un control secundario a la colección Controls del Control objeto. (Se hereda de Control).
Método protegido AddParsedSubObject Indica al control de servidor que se ha analizado un elemento, ya sea XML o HTML, y agrega dicho elemento al objeto ControlCollection del control de servidor. (Se hereda de Control).
Método público ApplyStyleSheetSkin Aplica al control las propiedades de estilo definidas en la hoja de estilos de página. (Se hereda de DataSourceControl).
Método protegido BuildProfileTree Infraestructura. Recopila información sobre el control de servidor y la pasa a la propiedad Trace para que se muestre cuando está habilitada la traza de la página. (Se hereda de Control).
Método protegido ClearCachedClientID Infraestructura. Establece en null el valor de ClientID almacenado en caché. (Se hereda de Control).
Método protegido ClearChildControlState Elimina la información sobre el estado de control de los controles secundarios del control de servidor. (Se hereda de Control).
Método protegido ClearChildState Elimina la información sobre el estado de vista y el estado de control de los controles secundarios del control de servidor. (Se hereda de Control).
Método protegido ClearChildViewState Elimina la información sobre el estado de vista de todos los controles secundarios del control de servidor. (Se hereda de Control).
Método protegido ClearEffectiveClientIDMode Infraestructura. Establece la propiedad ClientIDMode de la instancia del control actual y de cualquier control secundario en Inherit. (Se hereda de Control).
Método protegido CreateChildControls Lo llama el marco de trabajo de las páginas ASP.NET para indicar a los controles de servidor que utilizan la implementación basada en la composición que creen los controles secundarios que contengan como forma de preparar la devolución o representación de los datos. (Se hereda de Control).
Método protegido CreateControlCollection Crea una colección para almacenar controles secundarios. (Se hereda de DataSourceControl).
Método protegido CreateQueryableView Devuelve una vista consultable. (Invalida a QueryableDataSource.CreateQueryableView()).
Método protegido CreateView Crea una nueva instancia de la clase LinqDataSourceView que está asociada a este control.
Método público DataBind() Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios. (Se hereda de Control).
Método protegido DataBind(Boolean) Enlaza un origen de datos al control de servidor que se ha invocado y a todos sus controles secundarios con una opción para generar el evento DataBinding. (Se hereda de Control).
Método protegido DataBindChildren Enlaza un origen de datos a los controles secundarios del control de servidor. (Se hereda de Control).
Método público Delete Realiza una operación de eliminación.
Método público Dispose Habilita un control de servidor para que realice la limpieza final antes de que se libere de la memoria. (Se hereda de Control).
Método protegido EnsureChildControls Determina si el control de servidor contiene controles secundarios. Si no tiene controles secundarios, los crea. (Se hereda de Control).
Método protegido EnsureID Crea un identificador para controles que no tiene un identificador asignado. (Se hereda de Control).
Método público Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público FindControl(String) Busca un control de servidor con el parámetro id especificado en el contenedor de nomenclatura actual. (Se hereda de DataSourceControl).
Método protegido FindControl(String, Int32) Infraestructura. Busca el contenedor de nomenclatura actual para un control de servidor con el id especificado y un entero, que se especifica en el parámetro pathOffset, que ayuda a realizar la búsqueda. Esta versión del método FindControl no se debe reemplazar. (Se hereda de Control).
Método público Focus Establece el foco de entrada en el control. (Se hereda de DataSourceControl).
Método protegido GetDesignModeState Infraestructura. Obtiene datos en tiempo de diseño para un control. (Se hereda de Control).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetRouteUrl(Object) Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Se hereda de Control).
Método público GetRouteUrl(RouteValueDictionary) Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Se hereda de Control).
Método público GetRouteUrl(String, Object) Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Se hereda de Control).
Método público GetRouteUrl(String, RouteValueDictionary) Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Se hereda de Control).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público GetUniqueIDRelativeTo Devuelve la parte correspondiente al prefijo de la propiedad UniqueID del control especificado. (Se hereda de Control).
Método protegido GetView Obtiene la vista de origen de datos que está asociada al objeto QueryableDataSource. (Se hereda de QueryableDataSource).
Método protegido GetViewNames Obtiene una colección de los nombres que representan las vistas asociadas al control QueryableDataSource. (Se hereda de QueryableDataSource).
Método público HasControls Determina si el control de servidor contiene controles secundarios. (Se hereda de DataSourceControl).
Método protegido HasEvents Devuelve un valor que indica si se registran eventos para el control o los controles secundarios. (Se hereda de Control).
Método público Insert Realiza una operación de inserción.
Método protegido IsLiteralContent Infraestructura. Determina si el control de servidor alberga únicamente contenido literal. (Se hereda de Control).
Método protegido LoadControlState Restaura información de estado de control de una solicitud de página anterior guardada por el método SaveControlState. (Se hereda de Control).
Método protegido LoadViewState Carga el estado de los valores del control QueryableDataSource que deben conservarse. (Se hereda de QueryableDataSource).
Método protegido MapPathSecure Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa. (Se hereda de Control).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnBubbleEvent Determina si el evento del control de servidor debe pasarse a la jerarquía de controles de servidor de la interfaz de usuario de la página. (Se hereda de Control).
Método protegido OnDataBinding Provoca el evento DataBinding. (Se hereda de Control).
Método protegido OnInit Inicializa el objeto LinqDataSource. (Invalida a QueryableDataSource.OnInit(EventArgs)).
Método protegido OnLoad Provoca el evento Load. (Se hereda de Control).
Método protegido OnPreRender Provoca el evento PreRender. (Se hereda de Control).
Método protegido OnUnload Provoca el evento Unload. (Invalida a Control.OnUnload(EventArgs)).
Método protegido OpenFile Obtiene un objeto Stream utilizado para leer un archivo. (Se hereda de Control).
Método protegido RaiseBubbleEvent Asigna los orígenes del evento y su información al control principal del control. (Se hereda de Control).
Método protegido RaiseDataSourceChangedEvent Genera el evento DataSourceChanged. (Se hereda de DataSourceControl).
Método público RaiseViewChanged Llama al método OnDataSourceViewChanged de la clase DataSourceView. (Se hereda de QueryableDataSource).
Método protegido RemovedControl Se le llama una vez que se ha quitado un control secundario de la colección Controls del Control objeto. (Se hereda de Control).
Método protegido Render Envía el contenido del control de servidor a un objeto HtmlTextWriter suministrado, que escribe el contenido que se va a representar en el cliente. (Se hereda de Control).
Método protegido RenderChildren Envía el contenido del control secundario del control de servidor a un objeto HtmlTextWriter suministrado, que escribe el contenido que se va a representar en el cliente. (Se hereda de Control).
Método público RenderControl(HtmlTextWriter) Envía el contenido del control de servidor a un objeto HtmlTextWriter que se proporciona y almacena la información de traza sobre el control si dicha traza está habilitada. (Se hereda de DataSourceControl).
Método protegido RenderControl(HtmlTextWriter, ControlAdapter) Coloca el contenido de un control de servidor en un objeto HtmlTextWriter proporcionado, utilizando un objeto ControlAdapter proporcionado. (Se hereda de Control).
Método protegido ResolveAdapter Obtiene el adaptador de controles que se encarga de representar el control especificado. (Se hereda de Control).
Método público ResolveClientUrl Obtiene una dirección URL que el explorador puede utilizar. (Se hereda de Control).
Método público ResolveUrl Convierte una dirección URL en una que el cliente solicitante pueda utilizar. (Se hereda de Control).
Método protegido SaveControlState Guarda los cambios de estado de un control de servidor que se hayan producido desde el momento en que se devolvieron al servidor los datos de la página. (Se hereda de Control).
Método protegido SaveViewState Guarda el estado de vista actual del control QueryableDataSource. (Se hereda de QueryableDataSource).
Método protegido SetDesignModeState Establece datos en tiempo de diseño para un control. (Se hereda de Control).
Método público SetRenderMethodDelegate Infraestructura. Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en el control principal. (Se hereda de Control).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método protegido TrackViewState Realiza un seguimiento de los cambios en el estado de vista del control QueryableDataSource para poder almacenarlos en el objeto StateBag del control. (Se hereda de QueryableDataSource).
Método público Update Realiza una operación de actualización.
Método protegido UpdateParameterVales Actualiza los valores de parámetro que han cambiado desde la solicitud anterior. (Se hereda de QueryableDataSource).
Arriba
  Nombre Descripción
Evento público ContextCreated Se produce después de crearse una instancia del objeto de tipo de contexto.
Evento público ContextCreating Se produce antes de crearse una instancia del objeto de tipo de contexto.
Evento público ContextDisposing Se produce antes de desechar el objeto de tipo de contexto.
Evento público DataBinding Se produce cuando el control de servidor se enlaza a un origen de datos. (Se hereda de Control).
Evento público Deleted Tiene lugar cuando se ha completado una operación de eliminación.
Evento público Deleting Tiene lugar antes de una operación de eliminación.
Evento público Disposed Se produce cuando un control de servidor se libera de la memoria, lo que constituye la última fase del período de duración de un control de servidor cuando se solicita una página ASP.NET. (Se hereda de Control).
Evento público Init Tiene lugar al inicializar el control de servidor, que es el primer paso en su ciclo de vida. (Se hereda de Control).
Evento público Inserted Tiene lugar cuando se termina una operación de inserción.
Evento público Inserting Tiene lugar antes de una operación de inserción.
Evento público Load Se produce cuando el control de servidor se carga en el objeto Page. (Se hereda de Control).
Evento público PreRender Se produce una vez que se carga el objeto Control, pero antes de su representación. (Se hereda de Control).
Evento público QueryCreated Se produce cuando se agrega o se quita una consulta de un control de origen de datos. (Se hereda de QueryableDataSource).
Evento público Selected Tiene lugar cuando se termina una operación de recuperación de datos.
Evento público Selecting Tiene lugar antes de una operación de recuperación de datos.
Evento público Unload Se produce cuando el control de servidor se descarga de la memoria. (Se hereda de Control).
Evento público Updated Tiene lugar cuando se termina una operación de actualización.
Evento público Updating Tiene lugar antes de una operación de actualización.
Arriba
  Nombre Descripción
Método de extensión público ExpandDynamicWhereParameters Expande los filtros dinámicos en los parámetros Where que el origen de datos puede usar. (Definido por DynamicDataExtensions).
Método de extensión público FindDataSourceControl Devuelve el origen de datos que está asociado al control de datos del control especificado. (Definido por DynamicDataExtensions).
Método de extensión público FindFieldTemplate Devuelve la plantilla de campo para la columna especificada en el contenedor de nomenclatura del control especificado. (Definido por DynamicDataExtensions).
Método de extensión público FindMetaTable Devuelve el objeto de metatabla para el control de datos contenedor. (Definido por DynamicDataExtensions).
Método de extensión público GetDefaultValues Obtiene la colección de los valores predeterminados para el origen de datos especificado. (Definido por DynamicDataExtensions).
Método de extensión público GetMetaTable Obtiene los metadatos para una tabla en el objeto de origen de datos especificado. (Definido por DynamicDataExtensions).
Método de extensión público GetTable Devuelve el objeto MetaTable que está asociado al control de origen de datos especificado. (Definido por DynamicDataExtensions).
Método de extensión público LoadWith<TEntity> Establece el valor System.Data.Linq.DataLoadOptions de un origen de datos LINQ-to-SQL para forzar la carga de todas las entidades de clave externa. (Definido por DynamicDataExtensions).
Método de extensión público LoadWithForeignKeys Establece el valor System.Data.Linq.DataLoadOptions de un origen de datos LINQ-to-SQL para forzar la carga de todas las entidades de clave externa. (Definido por DynamicDataExtensions).
Método de extensión público TryGetMetaTable Determina si están disponibles los metadatos de la tabla. (Definido por DynamicDataExtensions).
Arriba
  Nombre Descripción
Implementación explícita de interfaces Propiedad privada IControlBuilderAccessor.ControlBuilder Para obtener una descripción de este miembro, vea IControlBuilderAccessor.ControlBuilder. (Se hereda de Control).
Implementación explícita de interfaces Método privado IControlDesignerAccessor.GetDesignModeState Para obtener una descripción de este miembro, vea IControlDesignerAccessor.GetDesignModeState. (Se hereda de Control).
Implementación explícita de interfaces Método privado IControlDesignerAccessor.SetDesignModeState Para obtener una descripción de este miembro, vea IControlDesignerAccessor.SetDesignModeState. (Se hereda de Control).
Implementación explícita de interfaces Método privado IControlDesignerAccessor.SetOwnerControl Infraestructura. Para obtener una descripción de este miembro, vea IControlDesignerAccessor.SetOwnerControl. (Se hereda de Control).
Implementación explícita de interfaces Propiedad privada IControlDesignerAccessor.UserData Para obtener una descripción de este miembro, vea IControlDesignerAccessor.UserData. (Se hereda de Control).
Implementación explícita de interfaces Propiedad privada IDataBindingsAccessor.DataBindings Para obtener una descripción de este miembro, vea IDataBindingsAccessor.DataBindings. (Se hereda de Control).
Implementación explícita de interfaces Propiedad privada IDataBindingsAccessor.HasDataBindings Para obtener una descripción de este miembro, vea IDataBindingsAccessor.HasDataBindings. (Se hereda de Control).
Implementación explícita de interfaces Evento privado IDataSource.DataSourceChanged Infraestructura. Se produce cuando un control de origen de datos ha cambiado de modo que afecta a los controles enlazados a datos. (Se hereda de DataSourceControl).
Implementación explícita de interfaces Método privado IDataSource.GetView Infraestructura. Obtiene el objeto DataSourceView con nombre asociado al control DataSourceControl. Ciertos controles de origen de datos sólo admiten una vista, mientras que otros admiten más de una. (Se hereda de DataSourceControl).
Implementación explícita de interfaces Método privado IDataSource.GetViewNames Infraestructura. Obtiene una colección de nombres, que representa la lista de objetos DataSourceView asociados al control DataSourceControl. (Se hereda de DataSourceControl).
Implementación explícita de interfaces Propiedad privada IDynamicDataSource.ContextType Para obtener una descripción de este miembro, vea IDynamicDataSource.
Implementación explícita de interfaces Propiedad privada IDynamicDataSource.EntitySetName Para obtener una descripción de este miembro, vea IDynamicDataSource.
Implementación explícita de interfaces Evento privado IDynamicDataSource.Exception Para obtener una descripción de este miembro, vea IDynamicDataSource.
Implementación explícita de interfaces Propiedad privada IExpressionsAccessor.Expressions Para obtener una descripción de este miembro, vea IExpressionsAccessor.Expressions. (Se hereda de Control).
Implementación explícita de interfaces Propiedad privada IExpressionsAccessor.HasExpressions Para obtener una descripción de este miembro, vea IExpressionsAccessor.HasExpressions. (Se hereda de Control).
Implementación explícita de interfaces Propiedad privada IListSource.ContainsListCollection Infraestructura. Indica si el control de origen de datos está asociado a una o varias listas de datos. (Se hereda de DataSourceControl).
Implementación explícita de interfaces Método privado IListSource.GetList Infraestructura. Obtiene una lista de controles de origen de datos que pueden utilizarse como orígenes de listas de datos. (Se hereda de DataSourceControl).
Implementación explícita de interfaces Método privado IParserAccessor.AddParsedSubObject Para obtener una descripción de este miembro, vea IParserAccessor.AddParsedSubObject. (Se hereda de Control).
Arriba

En este tema:

Introduction

Language-Integrated Query (LINQ) es una sintaxis de consulta que define un conjunto de operadores de consulta que permiten expresar operaciones de recorrido, filtro y proyección de manera declarativa en cualquier lenguaje de programación basado en .NET. El objeto de datos puede ser una colección de datos en memoria o un objeto que representa datos de una base de datos. Puede recuperar o modificar los datos sin tener que escribir los comandos SQL para cada operación.

El control LinqDataSource permite utilizar LINQ en una página web ASP.NET estableciendo las propiedades en texto de marcado. El control LinqDataSource utiliza LINQ to SQL para generar automáticamente los comandos de datos. Para obtener más información sobre LINQ a SQL, vea LINQ to SQL.

Cuando se recuperan datos de una recolección de datos en memoria, la propiedad ContextTypeName se establece en la clase que contiene la recolección de datos. La propiedad TableName se establece en la propiedad o campo que devuelve la colección de datos. Por ejemplo, podría tener una clase denominada Person que contiene una propiedad con el nombre FavoriteCities que devuelve una matriz de valores de cadena. En ese caso, la propiedad ContextTypeName se establece en Person y la propiedad TableName en FavoriteCities.

Cuando se consulte una base de datos, primero deben crearse clases de entidad que representen la base de datos y sus tablas. Puede usar Object Relational Designer o SqlMetal.exe para generar estas clases. Después, se establece la propiedad ContextTypeName en la clase que representa la base de datos y la propiedad TableName en la propiedad que representa la tabla de base de datos.

Orden de operaciones

El control LinqDataSource aplica las operaciones de datos en el orden siguiente:

  1. Where (indicación de qué registros de datos de deben devolver).

  2. Order By (ordenación).

  3. Group By (agregación de registros de datos para el uso compartido de los valores).

  4. Order Groups By (ordenación de datos agrupados).

  5. Select (indicación de qué campos o propiedades se van a devolver).

  6. Auto-sort (ordenación de los registros de datos según una propiedad que el usuario ha seleccionado).

  7. Auto-page (recuperación de un subconjunto de registros de datos seleccionados por el usuario).

Puede agregar condiciones a la propiedad Where para filtrar los registros de datos que se devuelven de una consulta. Si no se establece la propiedad Where, el control LinqDataSource recupera todos los registros del objeto de datos.

Ordenación de datos

La propiedad OrderBy se usa para especificar los nombres de las propiedades de los datos devueltos que servirán de criterio de ordenación.

Nota Nota

Cuando se usa el control LinqDataSource con SQL Server 2000 o SQL Server Compact 3.5 y la propiedad AutoPage se establece en true, se debe proporcionar un valor en la propiedad OrderBy. De forma predeterminada, la propiedad AutoPage es true. Si asigna un valor a la propiedad Select, también debe incluir todas las columnas de identidad en la lista de propiedades que se devuelve en la consulta.

Agrupar datos

La propiedad GroupBy se usa para especificar qué propiedades se emplean para consolidar los registros de datos que tienen los mismos valores. Al agrupar los datos, puede incluir Key e It, que son propiedades creadas dinámicamente, en la propiedad Select. La propiedad Key hace referencia a los valores de la propiedad o las propiedades que se usaron para agrupar los datos. Por ejemplo, si agrupa por una propiedad denominada Category, la propiedad Key contendrá todos los valores únicos en la propiedad Category. La propiedad It hace referencia a una colección de registros individuales en una agrupación de datos. Puede recorrer en iteración la propiedad It para recuperar los registros individuales que se han consolidado en la operación de agrupación. Por ejemplo, si agrupa por una propiedad denominada Category, la propiedad It contiene todos los registros individuales que comparten un valor común en la propiedad Category.

La propiedad OrderGroupsBy se usa para especificar las propiedades que se deben usar para ordenar los datos agrupados. Al agrupar los datos, la propiedad OrderBy especifica cómo están ordenados los registros individuales dentro de los datos agrupados.

De forma predeterminada, el control LinqDataSource recupera valores para todas las propiedades de un objeto de datos. La propiedad Select se usa para especificar qué propiedades se van a devolver si desea trabajar con un subconjunto de propiedades disponibles. La operación Select se aplica después de las operaciones Where, Order By y Group By. Por consiguiente, si crea un nombre con alias en una cláusula Select, el alias no está disponible en las otras cláusulas.

Modificaciones de datos

Puede especificar si se habilitan las modificaciones de datos mediante las propiedades EnableDelete, EnableInserty EnableUpdate. La interfaz de usuario para modificar los datos de un control LinqDataSource se proporciona normalmente a través de un control enlazado a datos, como DetailsView. Además de establecer EnableDelete, EnableInsert o EnableUpdate en true, se requieren las condiciones siguientes para habilitar las modificaciones de datos automáticas:

Existen dos formas de limitar las propiedades que se muestran en un control enlazado a datos. Puede establecer la propiedad Select en un subconjunto de propiedades o puede definir los campos para un control enlazado a datos agregando controles DataControlField. Sin embargo, si establece la propiedad Select, significa que las operaciones de actualización, inserción y eliminación automáticas no pueden estar habilitadas. Si desea habilitar las modificaciones de datos automáticas mientras trabaja con un subconjunto de propiedades disponibles, no establezca la propiedad Select. En su lugar, recupere todas las propiedades del objeto de datos y administre cuáles se muestran utilizando el control enlazado a datos. Al utilizar el control DetailsView o el control GridView, también debe establecer la propiedad AutoGenerateRows o AutoGenerateColumns en false. Esto evita que el control enlazado a datos incluya automáticamente botones para editar y eliminar los datos. Los valores que no se muestran en el control enlazado a datos se almacenan en el estado de vista. Se pasan sin modificar al origen de datos cuando se realiza la actualización de los datos.

Evaluar valores en tiempo de ejecución

Si tiene que evaluar los valores en tiempo de ejecución para ordenarlos, filtrarlos o agruparlos, puede agregar parámetros a la colección WhereParameters, GroupByParameters, OrderGroupsByParameters u OrderByParameters.

Si desea especificar valores predeterminados, puede agregar parámetros a la colección InsertParameters.

Si desea examinar o modificar los valores antes de que se ejecute la operación de datos, puede controlar los eventos Deleting, Inserting, Selecting y Updating. También se pueden controlar estos eventos para cancelar la operación de datos o examinar los errores de validación que se produzcan cuando las propiedades de la clase de datos se establecen según la entrada del usuario.

Para examinar los valores después de que la operación de datos ha finalizado, controle los eventos Deleted, Inserted, Selected y Updated.

Trabajar con procedimientos almacenados

El control LinqDataSource se usa para recuperar los datos de un procedimiento almacenado al crear un controlador del evento Selecting. En el controlador de eventos, llame al método en la clase de contexto de datos que representa el procedimiento almacenado y establezca el resultado en la propiedad Result del objeto LinqDataSourceSelectEventArgs. Si desea habilitar las operaciones de actualización, inserción y eliminación automáticas para los datos, el tipo de datos que se devuelve del método debe coincidir con el tipo especificado en la propiedad TableName. Para obtener más información acerca de cómo crear métodos de contexto de datos, vea Cómo: Crear métodos DataContext asignados funciones y procedimientos almacenados (Object Relational Designer).

Sintaxis de la declaración

<asp:LinqDataSource
    AutoGenerateOrderByClause="True|False"
    AutoGenerateWhereClause="True|False"
    AutoPage="True|False"
    AutoSort="True|False"
    ContextTypeName="string"
    EnableDelete="True|False"
    EnableInsert="True|False"
    EnableTheming="True|False"
    EnableUpdate="True|False"
    EnableViewState="True|False"
    GroupBy="string"
    ID="string"
    OnContextCreated="ContextCreated event handler"
    OnContextCreating="ContextCreating event handler"
    OnContextDisposing="ContextDisposing event handler"
    OnDataBinding="DataBinding event handler"
    OnDeleted="Deleted event handler"
    OnDeleting="Deleting event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnInserted="Inserted event handler"
    OnInserting="Inserting event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnSelected="Selected event handler"
    OnSelecting="Selecting event handler"
    OnUnload="Unload event handler"
    OnUpdated="Updated event handler"
    OnUpdating="Updating event handler"
    OrderBy="string"
    runat="server"
    Select="string"
    SkinID="string"
    StoreOriginalValuesInViewState="True|False"
    TableName="string"
    Visible="True|False"
    Where="string"
>
        <GroupByParameters />
        <InsertParameters />
        <OrderByParameters />
        <SelectParameters />
        <WhereParameters />
</asp:LinqDataSource>

En el ejemplo siguiente se muestra un control LinqDataSource que recupera los datos de una clase de entidad denominada Products. La clase de entidad podría haberse generado mediante Object Relational Designer o la utilidad SqlMetal.exe. La propiedad Where se establece para devolver sólo los registros que tienen un valor mayor que 50 en la propiedad Price. El control GridView se enlaza al control LinqDataSource para mostrar los datos.


<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > 50"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>


El ejemplo siguiente muestra un control LinqDataSource que permite a los usuarios actualizar, eliminar e insertar registros en el origen de datos. Un control DetailsView se enlaza al control LinqDataSource y permite a los usuarios ver y modificar los datos. Observe que no se requieren comandos SQL para seleccionar, actualizar, eliminar o insertar los registros.


<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    EnableUpdate="true"
    EnableInsert="true"
    EnableDelete="true"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DetailsView 
    DataKeyNames="ProductID"
    AutoGenerateEditButton="true"
    AutoGenerateDeleteButton="true"
    AutoGenerateInsertButton="true"
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:DetailsView>


El ejemplo siguiente muestra un controlador de eventos para el evento Selecting que establece el objeto de datos según un valor en la página web.


public partial class Default3 : System.Web.UI.Page
{
    string[] citiesArray = 
    { 
        "Atlanta", 
        "Charlotte", 
        "Denver", 
        "New York", 
        "San Francisco" 
    };

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        var cities = from city in citiesArray
                     where city.CompareTo("B") > 0
                     select city;
        e.Result = cities;
        // Or we could set e.Result = citiesArray to return all rows.
    }
}


El ejemplo siguiente muestra un control LinqDataSource configurado para agrupar por dos columnas. La propiedad Key hace referencia a un objeto que tiene dos propiedades, ProductCategory y Color. El nombre del objeto representado por It se cambia a Products (alias). El objeto Products cuyo nombre ha cambiado contiene una colección de los registros individuales de una agrupación. Cada instancia contendrá todas las columnas de la tabla Products.


<asp:LinqDataSource 
  ContextTypeName="ExampleDataContext" 
  TableName="Products" 
  GroupBy="new(ProductCategory, Color)"
  Select="new(Key,
          It As Products,
          Max(ListPrice) As MaxListPrice, 
          Min(ListPrice) As MinListPrice)"
  ID="LinqDataSource1" 
  runat="server">
</asp:LinqDataSource>


El ejemplo siguiente muestra dos controles ListView que muestran los datos del control LinqDataSource del ejemplo anterior. Un control ListView muestra los datos agrupados y el otro control ListView muestra los nombres individuales de los productos que pertenecen a ese grupo. La propiedad DataSource del control enlazado a datos anidado se establece en Products, que es el alias del objeto It.


<asp:ListView 
    DataSourceID="LinqDataSource1" 
    ID="ListView1" runat="server">

    <LayoutTemplate>
      <table id="Table1" 
          style="background-color:Teal;color:White" 
          runat="server" 
          class="Layout">

        <thead>
          <tr>
            <th><b>Product Category</b></th>
            <th><b>Color</b></th>
            <th><b>Highest Price</b></th>
            <th><b>Lowest Price</b></th>
          </tr>
        </thead>
        <tr runat="server" id="itemPlaceholder">
        </tr>

      </table>
    </LayoutTemplate>

    <ItemTemplate>
      <tr>
        <td><%# Eval("key.ProductCategory") %></td>
        <td><%# Eval("key.Color") %></td>
        <td><%# Eval("MaxListPrice") %></td>
        <td><%# Eval("MinListPrice") %></td>
      </tr>
      <tr>

        <td colspan="4" style="width:100%;background-color:White;color:Black">
          <asp:ListView 
            DataSource='<%# Eval("Products") %>' 
            runat="server" 
            ID="ListView2">

            <LayoutTemplate>
              <div runat="server" id="itemPlaceholder" />
            </LayoutTemplate>

            <ItemTemplate>
              <%# Eval("ProductName") %><br />
            </ItemTemplate>

          </asp:ListView> 
        </td>
      </tr>
    </ItemTemplate>
  </asp:ListView>


.NET Framework

Compatible con: 4, 3.5

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar