Como Crear Un Proyecto MVC Con Entity Framework A Partir de Una Base de Datos - Enrique Zavaleta Blog
Como Crear Un Proyecto MVC Con Entity Framework A Partir de Una Base de Datos - Enrique Zavaleta Blog
Como Crear Un Proyecto MVC Con Entity Framework A Partir de Una Base de Datos - Enrique Zavaleta Blog
Aunque MVC en .Net tiene muuuuucho tiempo y existen muuuuuchos tutoriales, la mayoria habla
de como crear la base de datos (el modelo) desde codigo, este post mostrara como como crear un
proyecto MVC con Entity Framework a partir de una base de datos, generando el codigo del modelo
a partir del esquema en la DB.
Nos saldra una pantalla donde seleccionaremos el template que queremos, en este caso
(obviamente) seleccionamos MVC y presionar OK. Aquí es importante prestar especial atención al
botón de Change Authentication del lado derecho, ya que en caso de querer manejar la
autenticacion por nosotros mismos (por ejemplo en caso de una aplicación interna) deberemos de
presionar dicho botón y seleccionar No Authentication, y si queremos que .Net lo maneje por
nosotros (lo cual hace bastante bien) deberemos dejar Individual User Accounts, que es la default;
tambien hay otras opciones pero estas dos son las dos mas comunes.
Entity Framework
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 2/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Una vez Visual Studio termine de generar los archivos necesarios, lo primero que haremos sera
agregar Entity Framework (https://www.asp.net/entity-framework) al proyecto, para
esto descargaremos el NuGet que lo contiene, necesitaremos ir a Tools > NuGet Package Manager
> Manage NuGet Packages for solution… y sobre el tab de Browse tendran que escribir
EntityFramework, y darle en Install.
Agredando el NuGet Entity Framework
Creando el modelo
Ya que tenemos instalado Entity Framework, utilizaremos un wizard para generar todo el código en
C# de nuestra DB, es decir, la librería generara por nosotros las entidades (clases) en C# que
representaran a cada una de las entidades (tablas) en la DB, y asi poder interactuar con SQL Server
en este caso.
Para generar estas clases daremos click derecho en la carpeta de Models > Add > New
Item…, posterior a esto seleccionaremos Data dentro de Visual C# y elegiremos ADO.NET Entity
Data Model, escribimos el nombre del modelo (algo así como InventoryModel, CoursesModel, etc) y
presionamos Add.
En la ventana que sale elegiremos la primera opción, EF Designer from database, y posteriormente
saldrá una ventana, preguntándonos por la cadena de conexión, hacemos click in New Connection
y ponemos los datos que nos pide, seleccionamos la DB y le damos OK.
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 3/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Le damos en Next y luego nos aparecerá una ventana, pidiendo que selecciones los objetos que
quieres mapear, seleccionamos las tablas, y en caso de que tengas algunos procedimientos
almacenados o vistas tambien, aunque en teoría si vas a usar Entity framework no deberías de
tener procedimientos almacenados (hay situaciones en que es necesario, así que si los
necesitas hay una forma muuuy fácil de llamarlos), seleccionamos las primeras dos opciones
Y finalmente presionamos Finish y se nos mostrara el diagrama de nuestra DB lo cual significa que
ya se crearon las clases necesarias.
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 4/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
vistas
Bien, ya que Visual Studio y Entity Framework generaron las clases necesarias para la interacción
con la DB, ahora es tiempo de que tambien generen el controlador (la lógica) y las vistas (lo que ve
el usuario, es decir básicamente HTML).
Click derecho en la carpeta de Controllers > Add > New Sca olded Item…, seleccionamos MVC 5
Controller with views, using Entity Framework, esto nos abrirá una ventana donde tendremos que
seleccionar el Model Class (es decir la tabla / entidad / clase ) y el Data Context Class (es decir la
conexión que creamos en el paso anterior), es importante seleccionar los siguientes puntos:
Generate views, Reference script libraries y Use a layout page, así como a continuación:
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 5/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Le damos en Add y listo, bueno casi, si les aparece un error como el siguiente, solo tenemos que
hacer justo lo que dice, compilar el proyecto y ahora si agregar el controlador y las vistas.
El resultado
Es hora de ver que es lo que hemos hecho sin escribir ni una sola palabra de código, si corremos el
proyecto, nos encontraremos con la pantalla inicial del proyecto.
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 6/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Como acabo de agregar el controlador y las vistas de la entidad User, en la URL solamente tengo
que agregar el controlador con lo que (en mi caso) queda http://localhost:49998/Users
(http://localhost:49998/Users), lo que nos lleva a la vista Index, que nos mostrara la lista de los
usuarios, que ene este caso esta vacia.
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 7/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Hay otras validaciones utiles que podemos declarar de manera sencilla del lado del servidor en C#
y nos harán la validación del lado del cliente en Javascript tambien, de eso hablare en otro post.
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 8/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Registro agregado
Como podemos ver Entity Framework nos creo una base funcional donde podemos ver, dar altas,
bajas y cambios sin escribir ni una sola palabra de código, y digo una base funcional, porque muy
probablemente van a querer agrear ciertas validaciones (en este post vemos como hacer
Gracias a esta base generada nos vamos a ahorrar todo el desarrollo básico que se necesita para
poder lograr este CRUD y enfocarnos a lo que realmente le agregara valor al proyecto.
Porque SQL Server se salto 1000 IDs BaseLibrary: una pequeña librería para
(http://blog.enrique-zavaleta.com/porque-sql- conectarse a SQL Server desde .NET en C#
server-se-salto-1000-ids/) (http://blog.enrique-zavaleta.com/baselibrary-
una-pequena-libreria-para-conectarse-a-sql-
server-desde-net-en-c/)
Comentario blog.enrique-zavaleta
1 Iniciar sesión
Únete a la discusión...
Nombre
ver más
△ ▽ • Responder • Compartir ›
AMBIÉN EN BLOG.ENRIQUE-ZAVALETA
orque SQL Server se salto 1000 IDs Validaciones con Data Annotations en
comentarios • hace 2 años MVC en .Net
Enrique Zavaleta — En esta respuesta de 3 comentarios • hace 2 años
Kitty puedes encontrar la forma en la que Ailin Fillión — Genial, muchas gracias!
aplicar la bandera 272.Aunque realmente no
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 10/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Inicio (http://blog.enrique-zavaleta.com/)
Contacto (http://enrique-zavaleta.com/?ref=blog)
Acerca de mi (http://blog.enrique-zavaleta.com/acerca-de-mi/)
Twitter (https://twitter.com/qiiqeeZavaleta)
Ver perfil y proytectos en GitHub (https://github.com/JEnriqueZS)
(http://stackoverflow.com/users/4773983/enrique-zavaleta)
ETIQUETAS
Xamarin.Forms (http://blog.enrique-zavaleta.com/tag/xamarin-forms/)
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 11/12
5/2/2019 Como crear un proyecto MVC con Entity Framework a partir de una base de datos - Enrique Zavaleta Blog
Hay muchas cosas (herramientas, técnicas, soluciones a problemas y tecnologías) que en esta parte del mundo
todavía no han sido digeridas del todo; este blog tiene la intención ayudar a aquellos que están
interesados en la programación, que tienen algún problema o buscan algún ejemplo de algo que
están tratando de implementar.
Aparte de compartir piezas de código que nos ayuden a todos (incluyéndome) a mejorar la calidad del
código que desarrollamos :)
http://blog.enrique-zavaleta.com/como-crear-un-proyecto-mvc-con-entity-framework-a-partir-de-una-base-de-datos/ 12/12