Полнотекстовый поиск NHibernate 3 с настройкой таблицы на подкласс - PullRequest
1 голос
/ 09 декабря 2010

Я использую FluentNHibernate, и я только что перешел на NHibernate 3.0. Я также изменил мою схему базы данных на конфигурацию таблицы на подкласс, которая мне действительно нравится. Мы использовали полнотекстовый поиск, прежде чем использовать встроенный в MS SQL 2005 полнотекстовый поиск, который работал нормально, потому что весь наш контент был одного класса и одной таблицы. Теперь, когда наши данные распределены по разным подклассам / таблицам с разными полями для индексации по каждому классу, мы обычно хотим один поиск по всем подклассам. Каков наилучший способ сделать это и как бы я запросить это?

В последнее время мы использовали Linq, но я бы согласился с HQL.

1 Ответ

0 голосов
/ 04 января 2011

Я в конце концов решил эту проблему с помощью цепочки HQL-запросов, подобных этой ...

string selectCat = @"from Cat c where freetext((c.Name),:keyword)";
string selectDog = @"from Dog d where freetext((d.Name,d.OwnerName),:keyword)";

var animals = session.CreateQuery(selectCat).SetString("keyword", keyword).List<BaseAnimal>().Concat<BaseAnimal>(session.CreateQuery(selectDog).SetString("keyword", keyword).List<BaseAnimal>()).ToList<BaseAnimal();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...