自定义命令文本 (EntityDataSource)

更新:2007 年 11 月

使用 EntityDataSource 控件的 CommandText 属性,您可以指定一个使用自定义实体 SQL 表达式的查询。与 SELECT 语句类似,CommandText 属性中的实体 SQL 表达式也创建不可更新的原始数据的投影。

如果将 CommandText 分配给 EntityDataSource 控件,将无法再通过该控件进行更新、插入或删除。在这种情况下,相关 EntityDataSourceView 控件的 CanDeleteCanInsertCanUpdate 方法都返回 false。

示例

下面的示例使用提供给 CommandText 属性的实体 SQL 命令,来返回实体的集合。

<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>
 

请参见

概念

数据投影 (EntityDataSource)

配置 EntityDataSource 控件

筛选数据 (EntityDataSource)

EntityDataSource 设计器

其他资源

对象查询 (Entity Framework)