Пользовательский текст команды (EntityDataSource)

Visual Studio 2010

Обновлен: Ноябрь 2007

Свойство CommandText элемента управления EntityDataSource позволяет задать запрос, в котором используется пользовательское выражение Entity SQL. Подобно инструкции SELECT, выражение Entity SQL в свойстве CommandText создает необновляемую проекцию исходных данных.

После присвоения свойства CommandText элементу управления EntityDataSource выполнять операции обновления, вставки и удаления посредством этого элемента управления невозможно. В этом случае методы CanDelete, CanInsert и CanUpdate связанного элемента управления EntityDataSourceView возвращают значение false.

В следующем примере команда Entity SQL, переданная свойству CommandText, используется для возвращения коллекции сущностей.

<asp:EntityDataSource ID="ProductDataSource" runat="server" 
    CommandText="SELECT value p FROM Products AS p
        WHERE p.ProductID
        BETWEEN @OrderIdMin AND @OrderIdMax"
    ConnectionString="name=AdventureWorksEntities" 
    DefaultContainerName="AdventureWorksEntities" >
    <CommandParameters>
        <asp:ControlParameter Name="OrderIdMin" 
            ControlID="ProductIdMin" Type="Int32"/>
        <asp:ControlParameter Name="OrderIdMax" 
            ControlID="ProductIdMax" Type="Int32" />
    </CommandParameters>
</asp:EntityDataSource>

В следующем примере кода возвращается спроецированная последовательность столбцов.

    <asp:EntityDataSource ID="ProductDataSource" runat="server" 
        CommandText="SELECT p.ProductID, p.ProductName, p.UnitsOnOrder
              FROM Products AS p 
              WHERE p.ProductID BETWEEN @OrderIDMin AND @OrderIDMax" 
              ContextTypeName="AdventureWorksModel. AdventureWorksEntities">
        <CommandParameters>
            <asp:ControlParameter Name="OrderIDMin" 
                    ControlID="ProductIDMin" Type="Int32"/>
            <asp:ControlParameter Name="OrderIDMax" 
                    ControlID="ProductIDMax" Type="Int32" />
        </CommandParameters>
    </asp:EntityDataSource>
 
Показ: