2011-10-14 44 views
0

Does以下實體數據源將在queryextender中的每個CustomExpression中過濾之後執行orderby,否則它將首先執行orderby,然後在選擇之前進入每個查詢擴展器。EntityDatasource在查詢擴展器之前或之後執行「order by」

<asp:EntityDataSource ID="edsMembers" runat="server" 
    ConnectionString="name=MOSContainer" DefaultContainerName="MOSContainer" 
    EnableFlattening="False" EntitySetName="Members" EntityTypeFilter="Member" 
    OrderBy="it.UserName" EnableDelete="True" ondeleted="edsMembers_Deleted"> 
</asp:EntityDataSource> 
<asp:QueryExtender ID="qedMembers" runat="server" TargetControlID="edsMembers"> 
<asp:CustomExpression OnQuerying="FilterMembersActivatedEmail"></asp:CustomExpression> 
<asp:CustomExpression OnQuerying="FilterMembersOccupationType"></asp:CustomExpression> 
</asp:QueryExtender> 

回答

1

QueryData源順序by子句應用於PageInit,因此會在實際數據源應用的子源之前。 這裏還有一個問題 - 由於查詢擴展程序和數據源使用子句創建兩個單獨的順序,因此只有其中一個順序受到尊重,並且這是最後一個應用程序(來自數據源的順序)。這同樣適用於Linq to SQL數據源。 Here is a link到我的類似問題。

相關問題