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 que se van a 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
Parámetros que se usan para crear la cláusula ORDER BY.
Excepciones
Cuando la Select propiedad especifica una proyección de consulta y el valor de EnableUpdate, EnableDeleteo EnableInsert es true.
Ejemplos
El marcado XML siguiente usa la Select propiedad para especificar una proyección con seis de las propiedades del tipo Product:
<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 XML anterior es el mismo que el siguiente ObjectQuery<T> denominado 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 consulta Entity SQL. Esto le permite proyectar un conjunto especificado de propiedades de los objetos devueltos por la consulta.
Esta cadena se pasa, sin modificaciones, a la ObjectQuery<T> que ejecuta Entity Framework. Esta consulta es el origen de los datos regulados por el EntityDataSource control . La cadena proporcionada a la Select propiedad usa 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 actualizaciones para los datos proyectados. Esto significa que cuando se usa la Select propiedad para especificar una proyección, el enlace de datos enlazado no admite actualizaciones.
Al definir una proyección con la paginación habilitada, debe definir la propiedad por la que ordenar los resultados. Esto significa que cuando se establece la Select propiedad en definida una proyección y se ha AutoPage establecido trueen , también debe establecer la OrderBy propiedad para definir el orden o establecer la AutoGenerateOrderByClause propiedad true en y agregar un parámetro ORDER BY a la OrderByParameters colección.
Select no se puede establecer si EnableUpdate, EnableDeleteo EnableInsert está habilitado.
Si se establece en Select una consulta que devuelve una proyección de propiedades (por ejemplo, SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p), se devolverá .DbDataRecord