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.
System.Web.UI.Control
System.Web.UI.DataSourceControl
System.Web.UI.WebControls.QueryableDataSource
System.Web.UI.WebControls.ContextDataSource
System.Web.UI.WebControls.LinqDataSource
Ensamblado: System.Web.Extensions (en System.Web.Extensions.dll)
El tipo LinqDataSource expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
Adapter | Obtiene el adaptador específico del explorador para el control. (Se hereda de Control). |
|
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). |
|
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. |
|
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. |
|
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. |
|
AutoSort | Obtiene o establece un valor que indica si el control LinqDataSource permite ordenar los datos en tiempo de ejecución. |
|
BindingContainer | Infraestructura. Obtiene el control que contiene el enlace de datos de este control. (Se hereda de Control). |
|
ChildControlsCreated | Obtiene un valor que indica si se han creado controles secundarios del control de servidor. (Se hereda de Control). |
|
ClientID | Obtiene el identificador del control de servidor generado por ASP.NET. (Se hereda de DataSourceControl). |
|
ClientIDMode | Esta propiedad no se utiliza para los controles de orígenes de datos. (Se hereda de DataSourceControl). |
|
ClientIDSeparator | Obtiene un valor de carácter que representa el carácter separado utilizado en la propiedad ClientID. (Se hereda de Control). |
|
Context | Obtiene el objeto HttpContext asociado al control de servidor para la solicitud Web actual. (Se hereda de Control). |
|
ContextTypeName | Obtiene o establece el nombre del tipo que contiene la propiedad cuyo valor tiene los datos que desea recuperar. (Invalida a ContextDataSource.ContextTypeName). |
|
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). |
|
DataItemContainer | Obtiene una referencia al contenedor de nomenclatura si este implementa IDataItemContainer. (Se hereda de Control). |
|
DataKeysContainer | Obtiene una referencia al contenedor de nomenclatura si este implementa IDataKeysControl. (Se hereda de Control). |
|
DeleteParameters | La clase LinqDataSource no emplea esta propiedad. |
|
DesignMode | Obtiene un valor que indica si se está utilizando un control en una superficie de diseño. (Se hereda de Control). |
|
EnableDelete | Obtiene o establece un valor que indica si los registros de datos se pueden eliminar a través del control LinqDataSource. |
|
EnableInsert | Obtiene o establece un valor que indica si los registros de datos se pueden insertar a través del control LinqDataSource. |
|
EnableObjectTracking | Obtiene o establece el valor que indica si se realiza un seguimiento de los cambios en el objeto de contexto de datos. |
|
EnableTheming | Obtiene un valor que indica si el control admite temas. (Se hereda de DataSourceControl). |
|
EnableUpdate | Obtiene o establece un valor que indica si los registros de datos se pueden actualizar a través del control LinqDataSource. |
|
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). |
|
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). |
|
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). |
|
Events | Obtiene una lista de delegados de controladores de eventos del control. Esta propiedad es de sólo lectura. (Se hereda de Control). |
|
GroupBy | Obtiene o establece un valor que especifica qué propiedades se utilizan para agrupar los datos recuperados. |
|
GroupByParameters | Obtiene la colección de parámetros que se usan para crear la cláusula Group By. |
|
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). |
|
ID | Obtiene o establece el identificador de programación asignado al control de servidor. (Se hereda de Control). |
|
IdSeparator | Infraestructura. Obtiene el carácter utilizado para separar los identificadores de control. (Se hereda de Control). |
|
InsertParameters | Obtiene la colección de parámetros que se usan durante una operación de inserción. |
|
IsChildControlStateCleared | Obtiene un valor que indica si los controles que se encuentran en este control tienen estado de control. (Se hereda de Control). |
|
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). |
|
IsViewStateEnabled | Obtiene un valor que indica si el estado de vista está habilitado para este control. (Se hereda de Control). |
|
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). |
|
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). |
|
OrderBy | Obtiene o establece un valor que especifica qué campos se utilizan para ordenar los datos recuperados. |
|
OrderByParameters | Obtiene la colección de parámetros que se usan para crear la cláusula Order By. |
|
OrderGroupsBy | Obtiene o establece los campos que se utilizan para ordenar los datos agrupados. |
|
OrderGroupsByParameters | Obtiene la colección de parámetros que se usan para crear la cláusula Order Groups By. |
|
Page | Obtiene una referencia a la instancia Page que contiene el control de servidor. (Se hereda de Control). |
|
Parent | Obtiene una referencia al control principal del control de servidor en la jerarquía de controles de página. (Se hereda de Control). |
|
RenderingCompatibility | Obtiene o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados. (Se hereda de Control). |
|
Select | Obtiene o establece las propiedades y los valores calculados que se incluyen en los datos recuperados. |
|
SelectParameters | Obtiene la colección de parámetros que se usan durante una operación de recuperación de datos. |
|
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). |
|
SkinID | Obtiene la máscara que se va a aplicar al control DataSourceControl. (Se hereda de DataSourceControl). |
|
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. |
|
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. |
|
TemplateControl | Obtiene o establece una referencia a la plantilla que contiene este control. (Se hereda de Control). |
|
TemplateSourceDirectory | Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual. (Se hereda de Control). |
|
UniqueID | Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Se hereda de Control). |
|
UpdateParameters | La clase LinqDataSource no emplea esta colección. |
|
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). |
|
ViewStateIgnoresCase | Obtiene un valor que indica si el objeto StateBag no distingue mayúsculas de minúsculas. (Se hereda de Control). |
|
ViewStateMode | Obtiene o establece el modo del estado de vista de este control. (Se hereda de Control). |
|
Visible | Obtiene o establece un valor que indica si el control se muestra gráficamente. (Se hereda de DataSourceControl). |
|
Where | Obtiene o establece un valor que especifica qué condiciones deben cumplirse para que un registro se incluya en los datos recuperados. |
|
WhereParameters | Obtiene la colección de parámetros que se utiliza para crear la cláusula Where. |
| Nombre | Descripción | |
|---|---|---|
|
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). |
|
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). |
|
ApplyStyleSheetSkin | Aplica al control las propiedades de estilo definidas en la hoja de estilos de página. (Se hereda de DataSourceControl). |
|
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). |
|
ClearCachedClientID | Infraestructura. Establece en null el valor de ClientID almacenado en caché. (Se hereda de Control). |
|
ClearChildControlState | Elimina la información sobre el estado de control de los controles secundarios del control de servidor. (Se hereda de Control). |
|
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). |
|
ClearChildViewState | Elimina la información sobre el estado de vista de todos los controles secundarios del control de servidor. (Se hereda de Control). |
|
ClearEffectiveClientIDMode | Infraestructura. Establece la propiedad ClientIDMode de la instancia del control actual y de cualquier control secundario en Inherit. (Se hereda de Control). |
|
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). |
|
CreateControlCollection | Crea una colección para almacenar controles secundarios. (Se hereda de DataSourceControl). |
|
CreateQueryableView | Devuelve una vista consultable. (Invalida a QueryableDataSource.CreateQueryableView()). |
|
CreateView | Crea una nueva instancia de la clase LinqDataSourceView que está asociada a este control. |
|
DataBind() | Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios. (Se hereda de Control). |
|
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). |
|
DataBindChildren | Enlaza un origen de datos a los controles secundarios del control de servidor. (Se hereda de Control). |
|
Delete | Realiza una operación de eliminación. |
|
Dispose | Habilita un control de servidor para que realice la limpieza final antes de que se libere de la memoria. (Se hereda de Control). |
|
EnsureChildControls | Determina si el control de servidor contiene controles secundarios. Si no tiene controles secundarios, los crea. (Se hereda de Control). |
|
EnsureID | Crea un identificador para controles que no tiene un identificador asignado. (Se hereda de Control). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
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). |
|
FindControl(String) | Busca un control de servidor con el parámetro id especificado en el contenedor de nomenclatura actual. (Se hereda de DataSourceControl). |
|
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). |
|
Focus | Establece el foco de entrada en el control. (Se hereda de DataSourceControl). |
|
GetDesignModeState | Infraestructura. Obtiene datos en tiempo de diseño para un control. (Se hereda de Control). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetRouteUrl(Object) | Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Se hereda de Control). |
|
GetRouteUrl(RouteValueDictionary) | Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Se hereda de Control). |
|
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). |
|
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). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
GetUniqueIDRelativeTo | Devuelve la parte correspondiente al prefijo de la propiedad UniqueID del control especificado. (Se hereda de Control). |
|
GetView | Obtiene la vista de origen de datos que está asociada al objeto QueryableDataSource. (Se hereda de QueryableDataSource). |
|
GetViewNames | Obtiene una colección de los nombres que representan las vistas asociadas al control QueryableDataSource. (Se hereda de QueryableDataSource). |
|
HasControls | Determina si el control de servidor contiene controles secundarios. (Se hereda de DataSourceControl). |
|
HasEvents | Devuelve un valor que indica si se registran eventos para el control o los controles secundarios. (Se hereda de Control). |
|
Insert | Realiza una operación de inserción. |
|
IsLiteralContent | Infraestructura. Determina si el control de servidor alberga únicamente contenido literal. (Se hereda de Control). |
|
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). |
|
LoadViewState | Carga el estado de los valores del control QueryableDataSource que deben conservarse. (Se hereda de QueryableDataSource). |
|
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). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
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). |
|
OnDataBinding | Provoca el evento DataBinding. (Se hereda de Control). |
|
OnInit | Inicializa el objeto LinqDataSource. (Invalida a QueryableDataSource.OnInit(EventArgs)). |
|
OnLoad | Provoca el evento Load. (Se hereda de Control). |
|
OnPreRender | Provoca el evento PreRender. (Se hereda de Control). |
|
OnUnload | Provoca el evento Unload. (Invalida a Control.OnUnload(EventArgs)). |
|
OpenFile | Obtiene un objeto Stream utilizado para leer un archivo. (Se hereda de Control). |
|
RaiseBubbleEvent | Asigna los orígenes del evento y su información al control principal del control. (Se hereda de Control). |
|
RaiseDataSourceChangedEvent | Genera el evento DataSourceChanged. (Se hereda de DataSourceControl). |
|
RaiseViewChanged | Llama al método OnDataSourceViewChanged de la clase DataSourceView. (Se hereda de QueryableDataSource). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
ResolveAdapter | Obtiene el adaptador de controles que se encarga de representar el control especificado. (Se hereda de Control). |
|
ResolveClientUrl | Obtiene una dirección URL que el explorador puede utilizar. (Se hereda de Control). |
|
ResolveUrl | Convierte una dirección URL en una que el cliente solicitante pueda utilizar. (Se hereda de Control). |
|
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). |
|
SaveViewState | Guarda el estado de vista actual del control QueryableDataSource. (Se hereda de QueryableDataSource). |
|
SetDesignModeState | Establece datos en tiempo de diseño para un control. (Se hereda de Control). |
|
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). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
|
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). |
|
Update | Realiza una operación de actualización. |
|
UpdateParameterVales | Actualiza los valores de parámetro que han cambiado desde la solicitud anterior. (Se hereda de QueryableDataSource). |
| Nombre | Descripción | |
|---|---|---|
|
ContextCreated | Se produce después de crearse una instancia del objeto de tipo de contexto. |
|
ContextCreating | Se produce antes de crearse una instancia del objeto de tipo de contexto. |
|
ContextDisposing | Se produce antes de desechar el objeto de tipo de contexto. |
|
DataBinding | Se produce cuando el control de servidor se enlaza a un origen de datos. (Se hereda de Control). |
|
Deleted | Tiene lugar cuando se ha completado una operación de eliminación. |
|
Deleting | Tiene lugar antes de una operación de eliminación. |
|
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). |
|
Init | Tiene lugar al inicializar el control de servidor, que es el primer paso en su ciclo de vida. (Se hereda de Control). |
|
Inserted | Tiene lugar cuando se termina una operación de inserción. |
|
Inserting | Tiene lugar antes de una operación de inserción. |
|
Load | Se produce cuando el control de servidor se carga en el objeto Page. (Se hereda de Control). |
|
PreRender | Se produce una vez que se carga el objeto Control, pero antes de su representación. (Se hereda de Control). |
|
QueryCreated | Se produce cuando se agrega o se quita una consulta de un control de origen de datos. (Se hereda de QueryableDataSource). |
|
Selected | Tiene lugar cuando se termina una operación de recuperación de datos. |
|
Selecting | Tiene lugar antes de una operación de recuperación de datos. |
|
Unload | Se produce cuando el control de servidor se descarga de la memoria. (Se hereda de Control). |
|
Updated | Tiene lugar cuando se termina una operación de actualización. |
|
Updating | Tiene lugar antes de una operación de actualización. |
| Nombre | Descripción | |
|---|---|---|
|
ExpandDynamicWhereParameters | Expande los filtros dinámicos en los parámetros Where que el origen de datos puede usar. (Definido por DynamicDataExtensions). |
|
FindDataSourceControl | Devuelve el origen de datos que está asociado al control de datos del control especificado. (Definido por DynamicDataExtensions). |
|
FindFieldTemplate | Devuelve la plantilla de campo para la columna especificada en el contenedor de nomenclatura del control especificado. (Definido por DynamicDataExtensions). |
|
FindMetaTable | Devuelve el objeto de metatabla para el control de datos contenedor. (Definido por DynamicDataExtensions). |
|
GetDefaultValues | Obtiene la colección de los valores predeterminados para el origen de datos especificado. (Definido por DynamicDataExtensions). |
|
GetMetaTable | Obtiene los metadatos para una tabla en el objeto de origen de datos especificado. (Definido por DynamicDataExtensions). |
|
GetTable | Devuelve el objeto MetaTable que está asociado al control de origen de datos especificado. (Definido por DynamicDataExtensions). |
|
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). |
|
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). |
|
TryGetMetaTable | Determina si están disponibles los metadatos de la tabla. (Definido por DynamicDataExtensions). |
| Nombre | Descripción | |
|---|---|---|
|
IControlBuilderAccessor.ControlBuilder | Para obtener una descripción de este miembro, vea IControlBuilderAccessor.ControlBuilder. (Se hereda de Control). |
|
IControlDesignerAccessor.GetDesignModeState | Para obtener una descripción de este miembro, vea IControlDesignerAccessor.GetDesignModeState. (Se hereda de Control). |
|
IControlDesignerAccessor.SetDesignModeState | Para obtener una descripción de este miembro, vea IControlDesignerAccessor.SetDesignModeState. (Se hereda de Control). |
|
IControlDesignerAccessor.SetOwnerControl | Infraestructura. Para obtener una descripción de este miembro, vea IControlDesignerAccessor.SetOwnerControl. (Se hereda de Control). |
|
IControlDesignerAccessor.UserData | Para obtener una descripción de este miembro, vea IControlDesignerAccessor.UserData. (Se hereda de Control). |
|
IDataBindingsAccessor.DataBindings | Para obtener una descripción de este miembro, vea IDataBindingsAccessor.DataBindings. (Se hereda de Control). |
|
IDataBindingsAccessor.HasDataBindings | Para obtener una descripción de este miembro, vea IDataBindingsAccessor.HasDataBindings. (Se hereda de Control). |
|
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). |
|
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). |
|
IDataSource.GetViewNames | Infraestructura. Obtiene una colección de nombres, que representa la lista de objetos DataSourceView asociados al control DataSourceControl. (Se hereda de DataSourceControl). |
|
IDynamicDataSource.ContextType | Para obtener una descripción de este miembro, vea IDynamicDataSource. |
|
IDynamicDataSource.EntitySetName | Para obtener una descripción de este miembro, vea IDynamicDataSource. |
|
IDynamicDataSource.Exception | Para obtener una descripción de este miembro, vea IDynamicDataSource. |
|
IExpressionsAccessor.Expressions | Para obtener una descripción de este miembro, vea IExpressionsAccessor.Expressions. (Se hereda de Control). |
|
IExpressionsAccessor.HasExpressions | Para obtener una descripción de este miembro, vea IExpressionsAccessor.HasExpressions. (Se hereda de Control). |
|
IListSource.ContainsListCollection | Infraestructura. Indica si el control de origen de datos está asociado a una o varias listas de datos. (Se hereda de DataSourceControl). |
|
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). |
|
IParserAccessor.AddParsedSubObject | Para obtener una descripción de este miembro, vea IParserAccessor.AddParsedSubObject. (Se hereda de Control). |
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:
-
Where (indicación de qué registros de datos de deben devolver).
-
Order By (ordenación).
-
Group By (agregación de registros de datos para el uso compartido de los valores).
-
Order Groups By (ordenación de datos agrupados).
-
Select (indicación de qué campos o propiedades se van a devolver).
-
Auto-sort (ordenación de los registros de datos según una propiedad que el usuario ha seleccionado).
-
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
|
|---|
|
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:
-
No se puede asignar un valor a la propiedad Select.
-
No se puede asignar un valor a la propiedad GroupBy.
-
La clase que se asigna a la propiedad ContextTypeName debe derivarse de DataContext.
-
La propiedad que se asigna a la propiedad TableName debe derivarse de Table<TEntity>.
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.
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.
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>
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.
Nota