J'aimerais pouvoir utiliser l'interrogation de chaîne personnalisée dans mes expressions NHibernate Linq. Disons par exemple (ce qui est juste un exemple) Je voudrais être en mesure de sélectionner des entités contenant une propriété qui est une anagramme d'une chaîne particulière:Extension de Linq à NHibernate pour les opérations de requête de chaînes personnalisées?
var myEntities = EntityRepository.AllEntities.Where(x => x.Description.IsAnagramOf('hits');
J'imagine les étapes de ce processus serait :
Définition d'une UDF SQL Server pour déterminer si deux chaînes sont anagrammes.
Définissez une méthode d'extension appelée IsAnagramOf() pour la classe String .
- (Et c'est le délicat). Modifiez Linq au composant de NHibernate pour analyser l'expression arbres afin qu'il convertisse les appels à la méthode d'extension dans l'appel SQL UDF approprié .
Ma question est la suivante. Est-ce que Linq to NHibernate contient un certain type de modèle d'extensibilité qui me permet d'insérer mes propres opérations de chaînes personnalisées ou devrais-je littéralement modifier le code source existant pour ajouter dans mon shiznit au composant d'analyse d'arbre d'expression?
Diego, vous êtes le visage de NHibernate. Et un joli visage c'est aussi! Je vérifierai cela en temps voulu. – David
LOL. Je suis juste un utilisateur et un contributeur trop enthousiaste :-) –