Jak utworzyć tę kwerendę za pomocą NHibernate.Linq?NHibernate.Linq LIKE
WHERE this_.Name LIKE @p0; @p0 = 'test' // Notice NO % wild card
Uwaga, to nie jest Linq To Sql lub Entity Framework. To jest NHibernate.
EDIT:
Oto pożądane zapytanie wykorzystujące ICriteria:
criteria.Add(Expression.Like("Name", "test"));
return criteria.List<Theater>();
Korzystanie kryteriów (podanych w pytaniu), ja nie widząc% symbole wieloznaczne są generowane. – mxmissile
Właśnie przeprowadziłem test jednostkowy, który mam z kodem podanym w mojej odpowiedzi i wygenerowałem instrukcję SQL z% wieloznacznym na obu końcach w ciągu znaków. Te same testy przeprowadzam również przy użyciu kryterium equilevant i otrzymuję dokładnie to samo zapytanie SQL, jeśli używam criteria.Add (Expression.Like ("Name", "test", MatchMode.Anywhere)); Używam NHibernate 2.1 z SQL Server 2005. Jeśli używasz tej samej konfiguracji, powinieneś być w stanie zobaczyć te same wyniki. – tolism7
Problem polega na tym, że nie chcę używać symboli wieloznacznych przy użyciu Linq. Mój komentarz powyżej był odpowiedzią na twoją odpowiedź "dokładnie wynik podanego fragmentu kryteriów". Przepraszam, jeśli nie byłam jasna. Mogę osiągnąć pożądane zapytanie z ICriteria, jak podano w pytaniu, ale nie można tego osiągnąć przy użyciu Linq. – mxmissile