Asp.Net-Mitgliedschaftsanbieter in Entity Framework 4

7

Ich habe eine Website mit ASP.NET-Mitgliedschaft, Entity Framework 4 und MS SQL 2008 für DB.

Ich würde gerne wissen, wenn ASP.NET-Mitgliedschaft die Interaktion mit der Datenbank wird mit Entity Framework?

Danke für Ihre Hilfe!

    
GibboK 13.09.2010, 13:25
quelle

3 Antworten

8

Wenn Sie einen benutzerdefinierten Mitgliedschaftsanbieter wünschen, müssen Sie nur eine Klasse erstellen, die die abstrakte MembershipProvider-Klasse erbt. Dann müssen Sie abstrakte Methoden wie ValidateUser, UpdateUser, GetUser usw. implementieren. Sie können EntityFramework verwenden, während Sie Ihre benutzerdefinierten Mitgliedschaftsanbietermethoden implementieren.

Unter Dokumente implementieren benutzerdefinierte Mitgliedschaftsanbieter mit odbc. Sie können Ihr EntityModel anstelle von odbc verwenden.

Ссылка

Ссылка

    
Musa Hafalır 13.09.2010, 14:42
quelle
10

Upsided zu Musas Antwort, um das Negativ zu entfernen. Es gibt keine Erwähnung von benutzerdefinierten Mitgliedschaftsanbieter, aber das bedeutet nicht, dass es nicht die Antwort ist.

Er ist genau richtig, es gibt keinen EF4-spezifischen Anbieter, der mit dem Framework ausgeliefert wird, aber Sie können Ihren eigenen erstellen.

Dadurch wird die Problemdomäne tatsächlich konsolidiert, indem Sie die Benutzer sauber in den Rest Ihrer Entitätsobjekte einbinden können, anstatt die Mitgliedschaft als separate Blackbox zu behandeln, die Sie umkehren müssen.

Die Art und Weise, dies zu tun, geschieht in der Tat, indem Sie MembershipProvider erben und die abstrakten Methoden implementieren.

Sobald Sie das getan haben, können Sie alles tun, was Sie wollen, anstatt Angst zu haben, die SQLMembership-Tabellen und gespeicherten Prozeduren zu brechen, die Sie standardmäßig bekommen - was ich nicht gerne benutze, da sie hässlich sind / p>

Ich habe das gerade mit meinem eigenen EF4-Modell gemacht, mit meiner eigenen Implementierung von Benutzern usw. Ich habe den Beispielcode aus diesem Video verwendet - Ссылка . BTW, wenn Sie diesen Beispielcode verwenden, achten Sie auf einige Tippfehler in gespeicherten Prozedurnamen!

    
RichardW1001 19.11.2010 15:32
quelle
6

Nein, SqlMembership sowie die anderen Anbieter im Sql-Stack verwenden gespeicherte Prozeduren, die direkt aufgerufen werden.

Sie können, wenn Sie möchten, ein konzeptionelles EF-Modell oben auf Ihrer aspnet_db-Datenbank erstellen, wenn Sie es untersuchen oder mit ihm interagieren möchten.

Aber lassen Sie mich dringend empfehlen, dass Sie es nur als gelesen behandeln, es sei denn, Sie wissen genau, was Sie aktualisieren oder löschen möchten.

    
Sky Sanders 23.09.2010 04:08
quelle

Tags und Links