Функции ограничения позволяют осуществлять фильтрацию и ограничения выборки данных и представляют собой специальный расширяемый язык ограничений, разработанный для Flexberry ORM.
Данный механизм лежит в основе функционирования LINQProvider, таким образом, данные механизмы наложения ограничений тесно связаны.
Существует возможность сериализовать функцию ограничения.
“Построители” функций ограничений
SQLWhereLanguageDef - класс-построитель функций для наложения ограничений на вычитываемые объекты.
ExternalLangDef - расширение языка ограничений для задания ограничений на зависимые объекты (детейлы).
FunctionBuilder - класс-обертка над ExternalLangDef с менее многословным синтаксисом для построения функций ограничений на вычитываемые объекты.
FunctionBuilder примеры - более детальные примеры по рефактору LangDef.GetFunction
.
Существует возможность расширить реализованные языки ограничений.
Применение функций ограничения
Работа с функциями ограничений часто связана с вычиткой данных. При вычитке данных функция ограничений указывается в структуре LoadingCustomizationStruct.