Методы и пример преобразования

Существуют методы, позволяющие производить конвертацию из функции ограничения в выражение для LINQProvider и наоборот.

  • Получение Linq-выражения из функции ограничения
  • lf - функция ограничения.
  • expression - Linq-выражение.
var limitResolvingViews = new List<View>() { Кредит.Views.C__КредитE }; 
Expression expression = new LcsInterpretator().Interpret(typeof(Кредит), lf, "x", limitResolvingViews);

Здесь limitResolvingViews - представления, аналогичные resolvingViews в LINQProvider, необходимые для корректного преобразования Функции ограничения (Limit Function) в Linq-ограничение (в первую очередь особенности связаны с обработкой детейлов). К limitResolvingViews предъявляются следующие требования:

  • При задании ограничения всеобщности на детейлы (ExistExact) в используемое представление детейла должна быть включена ссылка на агрегатора.
  • В основное представление агрегатора должны быть включены все детейлы, которые могут встретиться в ограничении.