J'essaie d'utiliser la méthode de requête de Fluent-NHibernate qui ressemble à ceci:Requête Linq complète à la place de Lambda avec Fluent-NHibernate?
public T[] Query<T>(Expression<System.Func<T, bool>> where)
{
return _session.Linq<T>().Where(where).ToArray();
}
J'utilise VB, afin d'envoyer une expression lambda, je peux l'appeler avec une ligne comme celle-ci:
Dim products = flRepos.Query(Of Product)(Function(p As Product) p.Id > 5)
Cette syntaxe est correcte, mais il existe un problème avec l'utilisation sous-jacente de Linq à Nhibernate par Fluent qui se casse lors de l'utilisation d'expressions VB lambda. Je ne vais pas utiliser les expressions lambda, je n'ai pas la moindre idée de comment je réécrirais cette ligne pour ne pas utiliser un lambda. Pour référence, l'utilisation de requêtes LINQ complètes dans VB fonctionne avec Linq 2 Nhibernate. Cette requête a bien fonctionné pour moi:
Dim product = (From p In session.Linq(Of Product)() _
Where p.Id = testId _
Select p).FirstOrDefault()