2009-01-13 5 views
1

Existe-t-il un consensus général sur l'utilisation de la recherche en texte intégral de SQL 2005 avec SubSonic? Je sais que je peux utiliser InlineQuery et obtenir un IDataReader, mais est-ce la seule façon de faire cela? Aussi, comment pourrais-je incorporer la pagination? Devrais-je écrire la pagination moi-même dans InlineQuery?Utilisation de FreeText avec SubSonic

Ce que je voudrais vraiment faire est quelque chose comme ceci:

new Select().From<Item>().Where("FreeText(Title, @title)").ExecuteAsCollection<ItemCollection>(); 

De cette façon, je peux utiliser les fonctions d'appel subsoniques intégré et ne pas avoir à écrire toute requête dans SQL

Répondre

1

C'est un cas avec SubSonic où je pense qu'il est plus facile de créer une procédure stockée et de construire la collection à partir du résultat. La pagination dans un sproc n'est pas si difficile à implémenter (capturer le sql généré par SubSonic et le réutiliser).

Vous pouvez générer une collection typée à partir du sproc en transmettant SPs.SPNameHere.GetReader() à la méthode ItemCollection.Load(). Assurez-vous que le sproc renvoie ce qu'un élément SELECT * FROM retournerait.

0

Cela ne fonctionnera pas avec SubSonic comme c'est maintenant. J'ai fait un patch il y a quelque temps qui ferait quelque chose comme ça mais il n'est jamais entré. Je me demande si ce devrait être leur ou pas que pensez-vous?