Параметры и пример использования функции FuncLike

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);