Я хотел бы иметь возможность использовать пользовательские запросы строк в моих выражениях NHibernate Linq. Допустим, к примеру (и это всего лишь пример) я хотел бы иметь возможность выбирать сущности, содержащие свойство, которое является анаграммой определенной строки:
var myEntities = EntityRepository.AllEntities.Where(x => x.Description.IsAnagramOf('hits');
Я предполагаю, что шаги, вовлеченные в этот процесс, будут:
Определите UDF SQL Server для определения
являются ли две строки анаграммами.
Определить метод расширения под названием
IsAnagramOf () для строки
класс.
- (И это хитрый). изменять
Линк в NHibernate's
компонент для разбора выражения
деревья, так что он преобразует звонки в
метод расширения в
соответствующий SQL-вызов UDF.
Мой вопрос такой. Есть ли в Linq to NHibernate какая-то модель расширяемости, позволяющая мне «вставлять» свои собственные пользовательские строковые операции, или мне буквально придется изменить существующий исходный код, чтобы добавить его в шизнит к компоненту синтаксического анализа дерева выражений?