EntityDataSource.Select Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la proyección que define las propiedades para incluir en los resultados de la consulta.
public:
property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String
Valor de propiedad
Los parámetros que se usan para crear la cláusula ORDER BY.
Excepciones
Cuando la propiedad Select especifica una proyección de consultas y el valor de EnableUpdate, EnableDelete o EnableInsert es true
.
Ejemplos
El marcado XML siguiente utiliza la Select propiedad para especificar una proyección con seis de las propiedades del tipo de producto:
<asp:EntityDataSource ID="ProductDataSource" runat="server"
ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities"
EntitySetName="Product" OrderBy="it.[ProductID]"
Select="it.[ProductID], it.[Name], it.[ListPrice],
it.[Size], it.[Style], it.[Weight]">
</asp:EntityDataSource>
El ejemplo de XML anterior es el mismo que el ObjectQuery<T> siguiente products
:
ObjectQuery<Product> products = context.Product
.Select(it.[ProductID], it.[Name], it.[ListPrice],
it.[Size], it.[Style], it.[Weight])
.OrderBy("it.[ProductID]");
Comentarios
La Select propiedad del EntityDataSource control contiene una cadena que representa la instrucción SELECT de una Entity SQL consulta. Esto le permite proyectar un conjunto especificado de propiedades a partir de los objetos devueltos por la consulta.
Esta cadena se pasa, sin modificación, a la ObjectQuery<T> que ejecuta el Entity Framework. Esta consulta es el origen de los datos regulados por el EntityDataSource control. La cadena proporcionada a la Select propiedad utiliza el mismo formato que la cadena que se pasa al Select método de ObjectQuery<T> . Para obtener ejemplos de cómo usar la cláusula Select para definir una proyección para una consulta, vea Cómo: ejecutar una consulta que devuelve objetos de tipo anónimo.
No se admiten las actualizaciones para los datos proyectados. Esto significa que cuando se utiliza la Select propiedad para especificar una proyección, el enlace de datos enlazado no admite actualizaciones.
Cuando se define una proyección con la paginación habilitada, se debe definir la propiedad por la que se ordenarán los resultados. Esto significa que cuando se establece la Select propiedad en una proyección definida y se AutoPage establece en true
, también se debe establecer la OrderBy propiedad para definir el orden o establecer la AutoGenerateOrderByClause propiedad en true
y agregar un parámetro order by a la OrderByParameters colección.
Select no se puede establecer si EnableUpdate , EnableDelete o EnableInsert está habilitado.
Si Select se establece en una consulta que devuelve una proyección de propiedades (por ejemplo, SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p
), se DbDataRecord devolverá un.