2010-09-13 37 views
7

Tengo un sitio web que usa Membresía ASP.NET, Entity Framework 4 en su lugar y MS SQL 2008 para DB.Membresía Asp.Net - Proveedores en Entity Framework 4

Me gustaría saber si utilizando Membresía ASP.NET la interacción con la base de datos se aprobará utilizando Entity Framework?

Gracias por su ayuda!

Respuesta

8

Si desea un proveedor de membresía personalizado, solo necesita crear una clase que herede la clase abstracta MembershipProvider. Luego deberá implementar métodos abstractos como, ValidateUser, UpdateUser, GetUser, etc. Puede usar EntityFramework mientras implementa sus métodos personalizados de membresía.

A continuación, los documentos implementan el proveedor de membresía personalizado con el uso de odbc. Puede usar su EntityModel en lugar de odbc.

http://msdn.microsoft.com/en-us/library/44w5aswa.aspx

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

+8

En ninguna parte de la pregunta se menciona una implementación de proveedor personalizado. Con demasiada frecuencia, veo gente sugiriendo con ligereza la implementación de una pila de proveedores personalizados antes de que realmente comprendan el dominio del problema. -1 –

+1

Pero la pregunta ni siquiera tiene sentido, y esta es una buena respuesta general. – fabspro

6

No, SqlMembership, así como los otros proveedores en la pila de SQL, procedimientos de uso almacenado llamado directamente.

Si lo desea, puede compilar un modelo conceptual de EF sobre su base de datos aspnet_db si desea examinarlo o interactuar con él.

Pero permítanme recomendar encarecidamente que debe tratar como de solo lectura a menos que sepa exactamente qué es lo que desea actualizar o eliminar.

10

Votado por la respuesta de Musa para eliminar el negativo. No se menciona al proveedor de membresía personalizado, pero eso no significa que no sea la respuesta.

Está en la esquina derecha, no hay un proveedor específico de EF4 incluido con el marco pero puede construir uno propio.

De hecho, esto consolida el dominio del problema, ya que puede VINCULAR CLARAMENTE a los usuarios en el resto de los objetos de su entidad en lugar de tratar la membresía como un recuadro negro separado que debe voltearse.

La forma de hacerlo es heredar de MembershipProvider e implementar los métodos abstractos.

Una vez que haya hecho eso, puede hacer lo que quiera con los usuarios, etc. en lugar de vivir rompiendo las tablas SQLMembership y los procedimientos almacenados que obtiene de manera predeterminada, lo que no me gusta usar porque son feos.

Acabo de hacer esto, usando mi propio modelo EF4, con mi propia implementación de usuarios, etc. Utilicé el código de muestra que vino con este video - http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider. Por cierto, si usa ese código de ejemplo como está, ¡tenga cuidado con un par de errores ortográficos en los nombres de procedimientos almacenados!

+0

gracias por tu comentario! – GibboK

+0

¿Hay un tutorial similar para C#? ¡Gracias! – mishap

+0

@Chuchelo existe la opción de descargar el código C#, pero no el video. No es difícil seguir el video con C# disponible. – GerManson

Cuestiones relacionadas