En mi post anterior se hablaba sobre la importancia del Membership Provider de asp.net y algunas de sus funciones. Sin embargo, para los que ha usado el proveedor se habrán dado cuenta de que contiene muchas tablas, procedimientos, vistas y demás que en muchas ocasiones no utilizamos o se nos dificulta modificar por su complejidad.

Así que, tomando en cuenta la facilidad con que contamos para personalizar el proveedor, empezaremos creando un modelo bastante sencillo que contendrá  4 tablas: Users, Roles, Profiles y Application. Con estas 4 tablas tendremos todo lo necesario para poder manejar los modelos de autenticación y seguridad en una aplicación de asp.net

En nuestro caso, este proveedor será de uso común, así que lo crearemos en Entity Framework para posteriormente poder manejar la implementación del código mediante LINQ.

Primer paso, creando el esquema de Entity

* Abrir visual studio

* Seleccionar archivo-nuevo

* Seleccionar proyecto

* En el menú izquierdo, en plantillas instaladas seleccionamos Visual C#-Windows-Biblioteca de Clases

*  Le ponemos un nombre y la agregamos al proyecto. Por defecto se crea una clase llamada Class1 la cual podemos eliminar

* Ahora que tenemos el proyecto, damos click derecho sobre el y nos dirigimos a la opción de agregar-nuevo elemento. Seleccionamos Ado.net Entity Data Model y lo agregamos al proyecto

Segundo paso, crear las tablas

El segundo paso es agregar las tablas al modelo de entity. Para esto se tiene dos posibilidades:

1. Agregar las tablas arrastrándolas desde el explorador de servidores

2. Crearlas paso a paso, que será nuestra forma. Así practicamos un poco.

Para crear una tabla, nos colocamos sobre el diseñador, damos clic derecho, buscamos la opción agregar y seleccionamos entidad. Tal como se muestra en la figura 1

Realizado este paso, le demos poner un nombre a la entidad (puede ser el mismo de la tabla) y damos aceptar. Con esto, la nueva entidad se agregara al modelo, a partir de ahi empezaremos a crear los campos.

 

Para añadir un campo a la entidad, damos clic sobre ella y buscamos la opción agregar, Propiedad escalar

Cada propiedad representa un campo de una tabla, por tanto deben llamarse igual a como está en la base de datos. Luego deben seleccionar la propiedad, ir a sus propiedades y modificar el Tipo de Datos, para que corresponda al que tiene en la base de datos.

La descripción de las tablas es la siguiente

Una vez creadas todas las entidades, asi se veria el diagrama

Por ahora, este post finaliza acá. Mas adelante veremos como empezar a programar las clases del Membership en Linq y por supuesto al final de los posts dejare el código.