Comment puis-je produire cette requête en utilisant NHibernate.Linq?NHibernate.Linq LIKE
WHERE this_.Name LIKE @p0; @p0 = 'test' // Notice NO % wild card
Notez que ceci n'est pas Linq To Sql ou Entity Framework. C'est NHibernate.
Edit:
Voici la requête désirée à l'aide ICriteria:
criteria.Add(Expression.Like("Name", "test"));
return criteria.List<Theater>();
l'aide des critères (fournis dans la question), je ne vois pas les% wildcards générés. – mxmissile
Je viens d'exécuter le test unitaire que j'ai avec le code fourni dans ma réponse et il a produit une instruction SQL avec le caractère générique% dans les deux extrémités sur la chaîne serch. Je lance aussi le même test en utilisant les critères Critérium et j'obtiens exactement la même instruction SQL si j'utilise criteria.Add (Expression.Like ("Name", "test", MatchMode.Anywhere)); J'utilise NHibernate 2.1 avec SQL Server 2005. Si vous utilisez la même configuration, vous devriez pouvoir voir les mêmes résultats. – tolism7
Le problème est que je ne veux pas que les jokers utilisent Linq. Mon commentaire ci-dessus répondait à votre réponse "exactement la sortie de l'extrait de critères que vous avez fourni". Désolé si je n'étais pas clair. Je peux réaliser la requête désirée avec ICriteria comme indiqué dans la question, mais ne peux pas sembler l'accomplir en utilisant Linq. – mxmissile