2009-09-11 10 views
2

J'utilise la classe SqlProfileProvider dans l'un de mes projets et j'aimerais pouvoir rechercher des profils sur une propriété de profil arbitraire (par exemple Birthday).asp.net Fournisseur du profil Rechercher sur une propriété spécifique

La seule méthode de recherche que j'ai vu est ProfileManager.FindByUserName.

Est-ce que quelqu'un a implémenté cela? Ou dois-je parcourir la liste des profils (très inefficace) et filtrer?

Répondre

0

Si vous n'utilisez que les mécanismes du fournisseur, votre seule option est d'itérer sur les profils. Toutefois, vous pouvez certainement utiliser votre propre méthode pour rechercher d'autres propriétés. Au lieu d'appeler ProfileManager.FindByBirthday, vous appelez simplement votre méthode directement de votre classe personnalisée.

+0

Le problème avec cela est de charger tous les profils en mémoire. Ma préoccupation concerne la performance. Ma solution de contournement consistait à charger l'ensemble minimal de propriétés dans le cache et à utiliser linq pour rechercher les données. – Pablo

+0

J'aurais dû le dire, mais mon idée était d'exécuter directement votre requête sur la base de données. Cela vous donnera de bonnes performances. – Larsenal