Controllable Query и Lambda lifting

6yrop

Оказывается в Controllable Query используется Lambda lifting.
Исходный код

var a = ...
var b = ...
...; a; ...; b; ...;
var query = ....ToQuery<Dog>

Выделяем формирование запроса в лямбду и делаем Lambda lifting

var a = ...
var b = ...
var query = new {a, b}.Lift(p => ...; p.a; ...; p.b; ...; ....ToQuery<Dog>

Функция Lift кране тривиальна

public static class Func
{
public static TResult Lift<T1, TResult>(this T1 arg, Func<T1, TResult> func)
{
return func(arg);
}
}

sap978

Вот это да

zya369

ты прав
Оставить комментарий
Имя или ник:
Комментарий: