通过


EntityDataSource.Where 属性

定义

获取或设置指定如何筛选查询结果的 Entity SQL 表达式。

public:
 property System::String ^ Where { System::String ^ get(); void set(System::String ^ value); };
public string Where { get; set; }
member this.Where : string with get, set
Public Property Where As String

属性值

WHERE 子句。

实现

示例

以下示例中的 XML 标记在 .aspx 文件中,从控件中检索值,并将其作为参数 Where 传递给属性。

<asp:EntityDataSource ID="SalesOrderHeader" runat="server"
  ConnectionString="name=AdventureWorksEntities"
  DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
  EnableInsert="True" EnableUpdate="True" EntitySetName="SalesOrderHeader"
  EntityTypeFilter="" OrderBy="it.TotalDue DESC" Select=""
   Where="it.OnlineOrderFlag = TRUE AND it.TotalDue > @ordercost">
  <WhereParameters>
    <asp:ControlParameter ControlID="costLimit" DbType="Int32"
      DefaultValue="2500" Name="ordercost" PropertyName="Text" />
  </WhereParameters>
</asp:EntityDataSource>

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

ObjectQuery<SalesOrderHeader> onlineOrders =
      context.SalesOrderHeader
       .Where("it.OnlineOrderFlag = TRUE AND it.TotalDue > @ordercost",
         new ObjectParameter("ordercost", orderCost))
        .OrderBy("it.TotalDue DESC");

注解

控件 Where 的属性 EntityDataSource 是一个字符串,表示作为实体 SQL 查询谓词的 WHERE 子句。 此字符串在未经修改 ObjectQuery<T> 的情况下传递给实体框架执行的字符串。 此查询是控件管控 EntityDataSource 的数据源。 提供给属性的 Where 字符串使用与传递给 Where 方法的 ObjectQuery<T>字符串相同的格式。 有关如何使用 WHERE 子句筛选查询的示例,请参阅 “如何:筛选数据”。

若要通过将实体类型属性等同于表达式来筛选查询结果,请参阅有关该 AutoGenerateWhereClause 属性的信息。

适用于