EntityDatasource 是否执行“order by”?在查询扩展器之前或之后
以下实体数据源将在 queryextender 中的每个 CustomExpression 中过滤后执行 orderby ,或者首先执行 orderby 然后在选择之前进入每个查询扩展器。
<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>
Does The following entity datasource will perform orderby after filtered in each CustomExpression in queryextender or it will perform orderby first then go into each query extender before selection.
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
QueryData 源 order by 子句应用于 PageInit,因此位于从实际数据源应用的子句之前。
这里还存在一个问题 - 由于查询扩展器和数据源创建两个单独的 order by 子句,因此仅尊重其中一个,即应用的最后一个(来自数据源的那个)。这同样适用于 Linq to SQL 数据源。 这是我的类似问题的链接。
The QueryData source order by clauses are applied on PageInit and therefore come before the one applied from the actual data source.
There is also a problem here - Since the query extender and the data source create two separate order by clauses only one of them is respected and that is the last one that is applied (the one from the data source). The same works with Linq to SQL data source. Here is a link to similar question of mine.