自訂命令文字 (EntityDataSource)
更新:2007 年 11 月
EntityDataSource 控制項的 CommandText 屬性可讓您指定使用自訂 Entity SQL 運算式的查詢。與 SELECT 陳述式相同,CommandText 屬性中的 Entity SQL 運算式會建立無法更新之原始資料的投影。
指派 CommandText 給 EntityDataSource 控制項後,您就無法再透過控制項進行更新、插入或刪除。在這種情況下,相關 EntityDataSourceView 控制項的 CanDelete、CanInsert 和 CanUpdate 方法都會傳回 false。
範例
下列範例會使用提供給 CommandText 屬性的 Entity SQL 命令,傳回實體 (Entity) 的集合。
<asp:EntityDataSource ID="ProductDataSource"
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"
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>