Come posso produrre questa query utilizzando NHibernate.Linq?NHibernate.Linq LIKE
WHERE this_.Name LIKE @p0; @p0 = 'test' // Notice NO % wild card
Nota, questo non è Linq To Sql o Entity Framework. Questo è NHibernate.
Modifica:
Ecco la query desiderata utilizzando ICriteria:
criteria.Add(Expression.Like("Name", "test"));
return criteria.List<Theater>();
Utilizzando Criteri (previste nella domanda), non sto vedendo i caratteri jolly% generati. – mxmissile
Ho appena eseguito il test unitario che ho con il codice fornito nella mia risposta e ha prodotto un'istruzione SQL con il carattere jolly% in entrambe le estremità della stringa di serch. Ho anche eseguito lo stesso test utilizzando il criterio Equivalente e ottengo la stessa identica istruzione SQL se uso criteri. Add (Expression.Like ("Nome", "test", MatchMode.Anywhere)); Utilizzo NHibernate 2.1 con SQL Server 2005. Se si utilizza la stessa configurazione, è possibile visualizzare gli stessi risultati. – tolism7
Il problema è che non voglio i caratteri jolly che usano Linq. Il mio commento sopra questo rispondeva alla tua risposta "esattamente l'output dello snippet di criteri che hai fornito". Scusa se non ero chiaro. Posso raggiungere la query desiderata con ICriteria come indicato nella domanda, ma non riesco a raggiungerlo usando Linq. – mxmissile