EntityDataSource.Where 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置指定如何筛选查询结果的 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 子句。
实现
示例
以下示例中的 .aspx 文件中的 XML 标记从控件中检索值,并将其作为参数传递给 属性 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 的信息。