Мне нужно написать динамические запросы для проекта, над которым я работаю. Я выясняю, что значительная часть времени тратится на мою программу на методах Count и First, поэтому я начал меняться. Единственный, только чтобы узнать, что такого метода нет.Как я могу расширить DynamicQuery.cs для реализации единого метода?
Код, приведенный ниже, был моей первой попыткой создать один (в основном, скопированный из метода Where), но он не работает. Помогите?
public static object Single(this IQueryable source, string predicate, params object[] values)
{
if (source == null) throw new ArgumentNullException("source");
if (predicate == null) throw new ArgumentNullException("predicate");
LambdaExpression lambda = DynamicExpression.ParseLambda(source.ElementType, typeof(bool), predicate, values);
return source.Provider.CreateQuery(
Expression.Call(
typeof(Queryable), "Single",
new Type[] { source.ElementType },
source.Expression, Expression.Quote(lambda)));
}
Можете ли вы описать, как он не работает? – Gabe