QueryableFilterUserControl.GetQueryable(IQueryable) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
원본 IQueryable 개체에서 변환된 IQueryable 개체를 가져옵니다.
public:
abstract System::Linq::IQueryable ^ GetQueryable(System::Linq::IQueryable ^ source);
public abstract System.Linq.IQueryable GetQueryable(System.Linq.IQueryable source);
abstract member GetQueryable : System.Linq.IQueryable -> System.Linq.IQueryable
Public MustOverride Function GetQueryable (source As IQueryable) As IQueryable
매개 변수
- source
- IQueryable
원본 IQueryable 개체입니다.
반품
원본 IQueryable 개체에서 변환된 IQueryable 개체입니다.
예제
이 메서드는 원본 IQueryable 개체를 대상 IQueryable 개체로 변환하기 위해 구현됩니다. 구현할 수 있는 식의 IQueryable 예에는 순서, 범위 또는 검색이 포함됩니다.
다음 예제에서는 파생 된 부울 필터에 대 한 메서드를 구현 GetQueryable 하는 방법을 보여 집니다 QueryableFilterUserControl.
public override IQueryable GetQueryable(IQueryable source) {
if (String.IsNullOrEmpty(DropDownList1.SelectedValue)) {
return source;
}
bool value = Convert.ToBoolean(DropDownList1.SelectedValue);
ParameterExpression parameterExpression =
Expression.Parameter(source.ElementType, "item");
Expression body = BuildQueryBody(
parameterExpression, value);
LambdaExpression lambda = Expression.Lambda(body,
parameterExpression);
MethodCallExpression whereCall = Expression.Call(
typeof(Queryable),
"Where",
new Type[] { source.ElementType },
source.Expression, Expression.Quote(lambda));
return source.Provider.CreateQuery(whereCall);
}
Public Overloads Overrides Function GetQueryable(ByVal source As IQueryable) As IQueryable
If [String].IsNullOrEmpty(DropDownList1.SelectedValue) Then
Return source
End If
Dim value As Boolean = Convert.ToBoolean(DropDownList1.SelectedValue)
Dim parameterExpression As ParameterExpression = Expression.Parameter(source.ElementType, "item")
Dim body As Expression = BuildQueryBody(parameterExpression, value)
Dim lambda As LambdaExpression = Expression.Lambda(body, parameterExpression)
Dim whereCall As MethodCallExpression = Expression.[Call](GetType(Queryable), "Where", _
New Type() {source.ElementType}, source.Expression, Expression.Quote(lambda))
Return source.Provider.CreateQuery(whereCall)
End Function
설명
에서 컨트롤 QueryableFilterUserControl을 파생하는 경우 이 메서드를 구현해야 합니다.