Películas (Entity FrameWork - Operaciones CRUD)


Detalles de Película


Nombre
Cinema Paradiso
FechaEstreno
05/05/1988 0:00:00
Precio
10,00
Nombre
Drama

  Editar película   Volver a listado


¿Qué es y Cómo funciona?

Para este ejemplo hemos creado un Entity Data Model con ADO.NET Entity Data Model a partir de 2 tablas relacionadas ("peliculas" y "generos") en BBDD. Es decir con Database First.

La tabla "peliculas" contiene los siguientes campos:

  • ID (clave, int, autonumerico)
  • Nombre (nvarchar(255))
  • FechaEstreno (datetime)
  • ID_Genero (nvarchar(36))
  • Precio (decimal(5,2))

La tabla "generos" contiene los siguientes campos:

  • ID (clave, int, autonumerico)
  • Nombre (nvarchar(255))

Podemos ver un listado de las peliculas, introducir nuevas y, editar o borrar cualquiera de ellas.

 

Teoría

La creación de entidades con ADO.NET Entity Data Model a partir de una BBDD simple es fácil.

En MVC 5, agregar un "Controlador de MVC5 con vistas que usa Entity FrameWork" añade de una forma fácil el tedioso trabajo de crear las acciones y vistas derivadas de las acciones CRUD sobre el Modelo.

Si el modelo está bien definido es una muy buena opción inicial para modificar las acciones, añadir nuevas y crear data anotations en el modelo a posteriori.

Para el problema con la coma/punto de los decimales se ha realizado un override del Model Binding como se explica aquí.

 

Configuración y Test

Se ha utilizado Visual Studio Express 2013 para Web y actualmente Visual Comunity 2015.
La programación se ha desarrollado con C#, Razor y acceso a Base de Datos por Entity Framework.

Las tablas mostradas en la aplicación se encuentran en un Microsoft® SQL Server® 2012 y actualmente en SQL de Azure

El alojamiento de las páginas se realizó en https://www.smarterasp.net con el plan .NET ADVANCE y actualmente se han movido a 2 Aplicaciones Web en Azure: una para este proyecto Web MVC y otra para un WCF usada en un ejemplo.

Se ha testeado con exito en diferentes navegadores y sistemas operativos, en pantallas de PC, tabletas y moviles.