【发布时间】:2011-03-09 16:17:31
【问题描述】:
我正在尝试为 LINQ 结果表设置别名,但没有找到任何方法。
我特别使用 QueryExtender 和 CustomExpression 和 DynamicData 来过滤 EntityDataSource。这一直有效,直到我按其中一列排序,我得到一个错误,即找不到表“它”。 我知道这是 DynamicData 包含所有内容的表别名。
protected void FilterBasedOnDateRange(object sender, CustomExpressionEventArgs e)
{
if (filterFromDate.SelectedDate != null && filterToDate.SelectedDate != null)
e.Query = (from p in e.Query.Cast<CalendarDay>()
where p.CalendarDate >= filterFromDate.SelectedDate && p.CalendarDate <= filterToDate.SelectedDate
select p);
}
<asp:Label ID="filterFromDateLabel" runat="server" Text='From Date' Font-Bold="true" />
<telerik:RadDatePicker ID="filterFromDate" runat="server" OnSelectedDateChanged="OnSelectedDateChanged" AutoPostBack="true" >
</telerik:RadDatePicker>
<asp:Label ID="filterToDateLabel" runat="server" Text='To Date' Font-Bold="true" />
<telerik:RadDatePicker ID="filterToDate" runat="server" OnSelectedDateChanged="OnSelectedDateChanged" AutoPostBack="true" >
</telerik:RadDatePicker>
<br /><br />
<asp:QueryExtender ID="qeRange" runat="server" TargetControlID="GridDataSource">
<asp:CustomExpression OnQuerying="FilterBasedOnDateRange" />
</asp:QueryExtender>
【问题讨论】:
标签: c# linq dynamic-data