Out of the Box implementiert System.Web.Security.Membership eine Reihe von Suchmethoden:
Ich verwende das WSAT-Projekt von CodePlex , um meine Mitgliedschaftsdatenbank zu verwalten. Das Tool implementiert zusätzliche Profileigenschaften in einer ProfileCommon-Klasse.
Nehmen wir an, ich habe im Profil des Benutzers eine Eigenschaft namens Firma .
Ich muss eine benutzerdefinierte Suchmethode implementieren, um nach der Firm-Eigenschaft zu suchen, und ich möchte dies alles im Code tun. Ich möchte keine gespeicherte Prozedur schreiben (da alle Profileigenschaften in einer Datenbankspalte im WSAT-Tool gespeichert sind).
So etwas ist offensichtlich nicht der richtige Weg, aber hier soll nur der Zugriff auf die Profileigenschaften des Benutzers demonstriert werden:
%Vor%Kann ich das in eine LINQ-Güte verwandeln?
Bekomme Hilfe von einem Kollegen, der gut mit linq ist. Die Herausforderung besteht darin, dass MembershipUserCollection IEnumerable & lt; T & gt; (!).
%Vor%In diesem Fall ist allUsers eine Liste, die ich mit den Elementen in der Membership.GetAllUsers () - Sammlung füllen musste.
Nun, kannst du es nicht einfach aussprechen?
%Vor%Hoffe das hilft euch Jungs
Nur für den Rekord habe ich diese Erweiterungsmethode erstellt, die meiner Meinung nach funktioniert:
%Vor% Es konvertiert auch die MembershipUserCollection
in eine IEnumerable<MembershipUser>
, so dass alle anderen LINQ-Methoden danach funktionieren.
Tags und Links asp.net-membership