Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
È possibile ordinare i risultati nel controllo EntityDataSource mediante la proprietà OrderBy. La proprietà OrderBy del controllo EntityDataSource è una stringa che rappresenta un'espressione ORDER BY di una query Entity SQL. Questa stringa viene passata, senza modifica, all'oggetto ObjectQuery<T> che funge da origine dati del controllo EntityDataSource. La stringa fornita alla proprietà OrderBy utilizza lo stesso formato della stringa passata al metodo OrderBy di ObjectQuery<T>. Per ottenere esempi su come utilizzare la clausola ORDER BY per ordinare i risultati delle query, vedere Procedura: ordinare dati (Entity Framework).
Passaggio di parametri
Analogamente al metodo OrderBy della classe ObjectQuery<T>, è possibile passare parametri alla clausola ORDER BY nella proprietà OrderBy. È necessario definire la proprietà OrderByParameters del controllo EntityDataSource per specificare un oggetto ParameterCollection per la clausola ORDER BY della query. La proprietà OrderByParameters utilizza un argomento denominato per fare riferimento al parametro assegnato nella proprietà OrderBy.
Se non si definisce la proprietà OrderByParameters, non viene effettuata alcuna sostituzione di parametri. Il nome di parametro nella clausola ORDER BY, che ha come prefisso il simbolo "@", deve presentare un nome corrispondente nell'oggetto ParameterCollection. I parametri appartenenti a un oggetto ParameterCollection non possono presentare valori null.
Generazione automatica della clausola ORDER BY
È possibile generare automaticamente la clausola ORDER BY impostando la proprietà AutoGenerateOrderByClause del controllo EntityDataSource su true. Il controllo EntityDataSource genererà automaticamente una clausola ORDER BY dal parametro dell'oggetto ParameterCollection assegnato alla proprietà OrderByParameters. In tal modo viene eliminata la necessità di assegnare in modo esplicito una clausola ORDER BY alla proprietà OrderBy. Quando si genera automaticamente la clausola ORDER BY dalla proprietà OrderByParameters, è necessario verificare che la proprietà Name del parametro nell'insieme identifichi una singola proprietà dell'elemento restituito dalla query.
Esempio
Nell'esempio riportato di seguito viene generata automaticamente la clausola ORDER BY e viene utilizzato il valore di orderByDropDownList per impostare il valore del parametro.
<asp:EntityDataSource ID="SalesOrderHeader"
ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" EntitySetName="SalesOrderHeader"
Where="it.OnlineOrderFlag = true" AutoGenerateOrderByClause="True">
<OrderByParameters>
<asp:ControlParameter Name="OrderByParameter"
ControlID="orderByDropDownList" Type="String" />
</OrderByParameters>
</asp:EntityDataSource>
Vedere anche
Concetti
Configurazione del controllo EntityDataSource
Filtro dei dati (EntityDataSource)
Finestra di progettazione EntityDataSource
Procedura guidata Configura origine dati (controllo EntityDataSource)
Testo del comando personalizzato (EntityDataSource)
Altre risorse
Esecuzione di query sui dati come oggetti (Entity Framework)