Partager via


EntityDataSource.AutoGenerateWhereClause Propriété

Définition

Obtient ou définit une valeur qui indique si le contrôle EntityDataSource crée dynamiquement une clause WHERE basée sur des valeurs définies dans la collection WhereParameters.

public:
 property bool AutoGenerateWhereClause { bool get(); void set(bool value); };
public bool AutoGenerateWhereClause { get; set; }
member this.AutoGenerateWhereClause : bool with get, set
Public Property AutoGenerateWhereClause As Boolean

Valeur de propriété

Boolean

true si le contrôle EntityDataSource crée la clause WHERE ; sinon, false. La valeur par défaut est false.

Implémente

Exceptions

Si la propriété AutoGenerateWhereClause est définie sur true et si la propriété Where n’est pas Null.

Exemples

Dans l’exemple suivant, la AutoGenerateWhereClause propriété a la valeur true . Par conséquent, le Name de la propriété doit correspondre à un nom de propriété de type d’entité qui est inclus dans les résultats de la requête. La requête sélectionne les propriétés SalesOrderID et TotalDue du type d’entité SalesOrderHeader. La clause générée automatiquement WHERE filtre les résultats de la requête en comparant la valeur TotalDue à une valeur sélectionnée dans le contrôle de zone de liste TotalDueList.

<asp:EntityDataSource ID="SalesOrderHeaderWithAutoParam" runat="server"
   ConnectionString="name=AdventureWorksEntities"
   DefaultContainerName="AdventureWorksEntities"
   EntitySetName="SalesOrderHeaders"
   Select="it.SalesOrderID, it.TotalDue"
    AutoGenerateWhereClause="True">
    <WhereParameters>
        <asp:ControlParameter ControlID="TotalDueList"
           Name="TotalDue" PropertyName="SelectedValue" DbType="Decimal" />
    </WhereParameters>
</asp:EntityDataSource>

Par défaut, la propriété AutoGenerateWhereClause a la valeur false. Cela signifie que nous devons fournir la WHERE clause. Dans l’exemple suivant, la WHERE clause est Where="it.TotalDue < @totalDueParam" et totalDueParam est le nom du paramètre.

<asp:EntityDataSource ID="SalesOrderHeaderWithOutAutoParam" runat="server"
   ConnectionString="name=AdventureWorksEntities"
   DefaultContainerName="AdventureWorksEntities"
   EntitySetName="SalesOrderHeaders"
   Where="it.TotalDue < @totalDueParam"
    Select="it.SalesOrderID, it.TotalDue">
    <WhereParameters>
        <asp:ControlParameter ControlID="TotalDueList"
           Name="totalDueParam" PropertyName="SelectedValue" DbType="Decimal" />
    </WhereParameters>
</asp:EntityDataSource>

Remarques

Pour filtrer les résultats d’une requête en assimilant une propriété de type d’entité à une expression, vous pouvez utiliser la AutoGenerateWhereClause propriété. Lorsque la AutoGenerateWhereClause propriété du EntityDataSource contrôle a la valeur true , le contrôle génère automatiquement une WHERE clause à partir des paramètres de la ParameterCollection WhereParameters propriété. La Name propriété de chaque paramètre doit correspondre à un nom de propriété de type d’entité qui est inclus dans les résultats de la requête. Si vous affectez AutoGenerateWhereClause à la propriété la valeur true , vous ne devez pas assigner explicitement une WHERE clause à la Where propriété.

S’applique à