Compartir por


EntityDataSource.Select Propiedad

Definición

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

Se aplica a