Описание, связь между функциями ограничения и LinqProvider, пример конвертации
Для фильтрации и ограничения выборки данных существует несколько классов, реализующих данную логику:
- Функции ограничения (Limit Function).
- LINQProvider (компоненты для поддержки LINQ в Flexberry ORM).
Связь между функциями ограничения и LinqProvider
Существуют методы, позволяющие производить конвертацию из выражения для LINQProvider в LimitFunction. Возможности провести обратную конвертацию Flexberry ORM не предоставляет.
Получение функции ограничения из Linq-выражения
expression
- Linq-выражение.
funcToReturn
- функция ограничения.
var queryExpression = LinqToLcs.GetExpressionToQueryFromWhereExpression(expression, typeof(Кредит));
Function funcToReturn = LinqToLcs.GetLcs(queryExpression, Кредит.Views.C__КредитE, limitResolvingViews).LimitFunction;
Применимость способов наложения ограничений
- LINQProvider - находится в стадии доработки, как следствие - реализует не все функции.
- Функции ограничения - является наиболее полным и объемлющим инструментом для вычитки данных. В перспективе будет вытеснен LINQProvider.