Professional Documents
Culture Documents
NET MVC
Longitud mxima.
Acepta valores NULL.
Clave de entidad.
Nombre.
StoreGeneratedPattern: permite establecer si la columna ser de tipo Identity o
Computed.
Tipo.
El cuadro de Propiedades aplica a todos los elementos de modelo, como son las
entidades, propiedades, relaciones e incluso al modelo en si mismo. Esto permite
personalizar todos los aspectos que posteriormente impactarn en las estructuras de la
base de datos, algunas de las cuales se nombraron anteriormente.
Ahora vamos a crear la clase Book y la relacin con Editorial. Para hacer la relacin,
solo debemos seleccionar la herramienta Asociacin, y seleccionar las dos entidades a
relacionar:
Crear relacin entre dos entidades
Como se ve en el rea de propiedades de la relacin, podemos establecer todas aquellas
caractersticas propias de la misma de forma sencilla y sin tener que usar sentencias
SQL.
Una vez finalizada la creacin de nuestras entidades tendremos que generar el cdigo
SQL para crear las estructuras en la base de datos. Para ello solo debemos hacer click
derecho sobre nuestro archivo y seleccionar la opcin Generar base de datos desde
modelo:
Opcin para generar base de datos desde el modelo
All crearemos una nueva conexin a la base de datos. En este ejemplo la crearemos
desde cero, escribiendo un nombre que no existe en el servidor. Al hacerlo as, nos
solicitar confirmacin para crearla:
Crear nueva conexin y nueva base de datos
Una vez hecho esto, tendremos nuestro script SQL listo para ejecutar:
Script de estructuras SQL generadas
Una vez realizada la ejecucin, podremos ver que las estructuras han sido correctamente
creadas, tan solo copiando y pegando el cdigo creado (sin hacer absolutamente nada
ms):
Estructuras creadas
Cabe destacar que al momento de crear la conexin con la base de datos es cuando se
crearn todas las clases y el DataContext que nos permitir hacer el acceso a los datos
desde nuestra aplicacin. Esto es solo para la creacin inicial, posteriormente cuando
agreguemos nuevas entidades al modelo los cambios en las clases se harn
automticamente, pero no as en la base de datos. Esta es la principal desventaja de esta
propuesta, ya que cuando hagamos un cambio en el modelo (por menor que sea) el
asistente nos generar el script SQL para volver a generar todas las estructuras de
nuevo, debiendo borrar las previamente creadas. Entity Framework ofrece el concepto
de Migraciones, las cuales solo aplican a la base de datos las modificaciones que se han
hecho en las clases asociadas. Lamentablemente, este concepto solo est disponible bajo
la tcnica Code First, la cual usa un enfoque ligeramente diferente.
Estos son los pasos necesarios para usar la tcnica Model First. Como conclusin (y
como se mencion en diversas partes de este post) la gran ventaja de este mtodo es
poder crear las estructuras de la base de datos que deber usar nuestra aplicacin sin
necesidad de escribir una sola sentencia SQL (eso si, debemos tener conocimientos
sobre bases de datos relacionales para poder establecer las propiedades de la forma
correcta) y de una forma grfica intuitiva y totalmente integrada a Visual Studio. Como
principal desventaja es la poca mantenibilidad que ofrece, ya que ante cualquier cambio
que se haga en las entidades se generar el cdigo SQL para crear todo de cero. A lo
sumo debemos tomar ese script y adaptarlo para aplicar solo las modificaciones
necesarias.