NHhibernate OUTER JOIN - PullRequest
       2

NHhibernate OUTER JOIN

1 голос
/ 13 июля 2010
criteriaCount.CreateAlias(AdvertisementsProperties.City.ToString(), "city")
                .CreateAlias(AdvertisementsProperties.Area.ToString(), "area")
                .Add(Restrictions.Disjunction()
                        .Add(Expression.Like("Advertisement." + AdvertisementsProperties.Name.ToString(), text, MatchMode.Anywhere))
                        .Add(Expression.Like("Advertisement." + AdvertisementsProperties.Description.ToString(), text, MatchMode.Anywhere)))
                        /*.Add(Expression.Like("city." + CitiesProperties.Name, text, MatchMode.Anywhere))
                        .Add(Expression.Like("city." + CitiesProperties.SlovenianName, text, MatchMode.Anywhere))
                        .Add(Expression.Like("area." + AreasProperties.Name, text, MatchMode.Anywhere))
                        .Add(Expression.Like("area." + AreasProperties.SlovenianName, text, MatchMode.Anywhere))
                        .Add(Expression.Like("country." + CountriesProperties.Name, text, MatchMode.Anywhere))
                        .Add(Expression.Like("country." + CountriesProperties.SlovenianName, text, MatchMode.Anywhere)))*/
                .List<Advertisements>();

CreateAlias ​​или CreateCriteria создают INNER JOIN в SQL.Можно ли создать OUTER JOIN, потому что в моем примере некоторые отношения могут быть нулевыми, и мне не нужно все время внутреннее соединение.

1 Ответ

4 голосов
/ 13 июля 2010

Изучите метод CreateCriteria и параметр NHibernate.SqlCommand.JoinType.LeftOuterJoin.

Ваши сопоставления также могут определять это поведение, проверьте: http://ayende.com/Blog/archive/2009/04/13/nhibernate-mapping-ltsetgt.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...