EntityDataSource.WhereParameters 属性

定义

获取用于创建 WHERE 子句的参数的集合。

public:
 property System::Web::UI::WebControls::ParameterCollection ^ WhereParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection WhereParameters { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.WhereParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property WhereParameters As ParameterCollection

属性值

用于创建 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与 类的 方法一ObjectQuery<T>样,可以将参数传递给分配给 属性的Where谓词。 控件 WhereParametersEntityDataSource 属性指定一个 ParameterCollection ,其中包含要提供给查询的 WHERE 子句的参数。 属性 WhereParameters 使用命名参数来引用在提供给 Where 属性的字符串中指定的参数。

WhereParameters如果未设置 属性,则不进行参数替换。 WHERE 子句中以符号 “开头@" 的所有参数名称必须在 中 ParameterCollection具有匹配的名称。 不允许对 中的 ParameterCollection参数使用 Null 值。

适用于