Проблемы с установкой куки с субдомена

Я предлагаю еще одно усовершенствование решений PredicateBuilder и ExpressionVisitor. Я назвал его UnifyParametersByName, и вы можете найти его в моей MIT-библиотеке: LinqExprHelper . Это позволяет комбинировать произвольные лямбда-выражения. Обычно задаются вопросы о предикатном выражении, но эта идея распространяется и на проекционные выражения.

В следующем коде используется метод ExprAdres, который создает сложное параметризованное выражение, используя встроенную lambda. Это сложное выражение кодируется только один раз, а затем повторно используется благодаря мини-библиотеке LinqExprHelper.

public IQueryable UbezpFull
{
    get
    {
        System.Linq.Expressions.Expression<
            Func> expr =
            (u, parAdrM, parAdrZ) => new UbezpExt
            {
                Ub = u,
                AdrM = parAdrM,
                AdrZ = parAdrZ,
            };

        // From here an expression builder ExprAdres is called.
        var expr2 = expr
            .ReplacePar("parAdrM", ExprAdres("M").Body)
            .ReplacePar("parAdrZ", ExprAdres("Z").Body);
        return UBEZPIECZONY.Select((Expression>)expr2);
    }
}

И это строительный код подвыражения:

public static Expression> ExprAdres(string sTyp)
{
    return u => u.UBEZP_ADRES.Where(a => a.TYP_ADRESU == sTyp)
        .OrderByDescending(a => a.DATAOD).FirstOrDefault();
}

То, что я пытался достичь, - это выполнить параметризованные запросы без необходимости скопировать-вставить и с возможностью использования встроенных lambdas, которые так хороши. Без всех этих вспомогательных выражений я был бы вынужден создать целый запрос за один раз.

0
задан wheresmycookie 18 January 2019 в 14:42
поделиться