У меня есть серия объектов, все из которых имеют аналогичное свойство, которое является списком идентификаторов групп, к которым они принадлежат (много родителей на ребенка).Динамические данные - реализация IQueryable для списка <int> Содержит()
У меня возникли проблемы с программной реализацией выражения Linq, необходимого для правильной работы фильтра.
Это то, что я до сих пор:
IQueryable result = null;
if (!string.IsNullOrWhiteSpace(this.ddlRouteNames.SelectedValue))
{
ConstantExpression ce = Expression.Constant(int.Parse(this.ddlRouteNames.SelectedValue));
ParameterExpression pe = Expression.Parameter(source.ElementType);
MemberExpression me = Expression.Property(pe, this.Column.Name);
MethodCallExpression mce = Expression.Call(typeof(List<int>), "Contains", new[] { typeof(int) }, me, ce);
result = source.Provider.CreateQuery(mce);
}
return result;
Я получаю исключение при попытке создать свой MethodCallExpression:
Ни один метод «не содержит» существует на типе «System.Collections .Generic.List`1 [System.Int32]».
Любые указатели с чего начать?
Я запутался, вы должны были это почти прямо [ваш предыдущий вопрос] (http://stackoverflow.com/q/16347794/41071). – svick
В этом вопросе метод был статичным. –
Другой вопрос приводит к исключению при попытке создать запрос: «Выражение аргумента не реализует System.Linq.IQueryable'1 [System.Boolean]». –