사용자 지정 명령 텍스트(EntityDataSource)
업데이트: 2007년 11월
EntityDataSource 컨트롤의 CommandText 속성을 사용하면 사용자 지정 Entity SQL 식을 사용하는 쿼리를 지정할 수 있습니다. SELECT 문과 마찬가지로 CommandText 속성의 Entity SQL 식은 원래 데이터의 업데이트할 수 없는 프로젝션을 만듭니다.
CommandText를 EntityDataSource 컨트롤에 할당하면 해당 컨트롤로 더 이상 업데이트, 삽입 또는 삭제를 수행할 수 없습니다. 이 경우 관련 EntityDataSourceView 컨트롤의 CanDelete, CanInsert 및 CanUpdate 메서드는 모두 false를 반환합니다.
예제
다음 예제에서는 CommandText 속성에 제공된 Entity SQL 명령을 사용하여 엔터티 컬렉션을 반환합니다.
<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>