2011-10-14 40 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到我的类似问题。

相关问题