FuncNEQ
- функция, аналогичная сравнению на неравенство в SQL, в построителе функций ограничения SQLWhereLanguageDef.
Параметры GetFunction
Функция GetFunction принимает первым параметром тип функции funcNEQ
, а дальше принимает 2 объекта на сравнение их между собой. Первым посылается описание переменной (Variable Definition), по которому будут определяться объекты для сравнения; а вторым параметром - объект, с которым будет происходить сравнение.
Примечание: несмотря на то, что при построении ограничения на переменную типа bool
FuncEQ позволяет не посылать второй параметр, FuncNEQ не позволяет этого сделать. Таким образом, следующая конструкция приведёт к ошибке:
langdef.GetFunction(langdef.funcNEQ, new VariableDef(langdef.BoolType, "SomeBoolFlag"))
Рассмотрим пример. Требуется вычитать все Кредиты
, не относящиеся к определенному Клиенту
.
SQL-выражение выглядело бы следующим образом:
SELECT * FROM Кредит WHERE Клиент <> '{ID}'
Где {ID} - первичный ключ искомого Клиента
.
Через SQLWhereLanguageDef:
Клиент клиент = new Клиент();
SQLWhereLanguageDef langdef = SQLWhereLanguageDef.LanguageDef;
Function lf = langdef.GetFunction(langdef.funcNEQ, new VariableDef(langdef.GuidType, Information.ExtractPropertyPath<Кредит>(x => x.Клиент)), клиент.__PrimaryKey);