通过


EntityDataSource.Select 属性

定义

获取或设置用于定义要在查询结果中包含的属性的投影。

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

属性值

用于创建 ORDER BY 子句的参数。

例外

当属性指定查询投影和值时,或为 < a0/>

示例

以下 XML 标记使用 Select 属性指定具有 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>

前面的 XML 示例与 ObjectQuery<T> 以下名称 products相同:

ObjectQuery<Product> products = context.Product
    .Select(it.[ProductID], it.[Name], it.[ListPrice],
      it.[Size], it.[Style], it.[Weight])
    .OrderBy("it.[ProductID]");

注解

控件 Select 的属性 EntityDataSource 包含表示实体 SQL 查询的 SELECT 语句的字符串。 这样,便可以从查询返回的对象投影一组指定的属性。

此字符串在未经修改 ObjectQuery<T> 的情况下传递给实体框架执行的字符串。 此查询是控件管控 EntityDataSource 的数据源。 提供给属性的 Select 字符串使用与传递给 Select 方法的 ObjectQuery<T>字符串相同的格式。 有关如何使用 SELECT 子句为查询定义投影的示例,请参阅 “如何:执行返回匿名类型对象的查询”。

投影数据不支持更新。 这意味着,使用 Select 属性指定投影时,绑定的数据绑定不支持更新。

定义启用了分页的投影时,必须定义按该属性对结果进行排序。 这意味着将属性设置为Select定义投影并设置为AutoPage该属性时,还必须将属性设置为OrderBytrue定义顺序或将属性true设置为AutoGenerateOrderByClause,并将 ORDER BY 参数添加到OrderByParameters集合中。

Select 如果 EnableUpdate启用或 EnableDelete启用, EnableInsert 则无法设置。

Select如果设置为返回属性投影的查询(例如,SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p),将返回一个DbDataRecord

适用于