Vous êtes sur la page 1sur 6

APLICACIONES WEB II

Mantenimiento de varias clases con MVC 4.0

Esta gua consta de tres partes:


Generar el mantenimiento a varias clases y ver las opciones de
sincronizacin que nos da EF con la base de datos.
Validacin del modelo con las DataAnnotations
Seguridad con el MemberShiProvider
1. Iniciamos Visual Studio 2012 y creamos un nuevo proyecto

2. Vamos a usar el lenguaje C# con la plantilla Web y el tipo de proyecto


Aplicacin web de ASP.NET MVC 4, como nombre de proyecto ponemos
VentasMVC y una ubicacin donde se guardar el proyecto, finalmente
damos Aceptar.

Ing. William Guzman

Pgina 1

APLICACIONES WEB II
3. En la opcin de seleccionar plantilla de MVC, elegimos la opcin
Aplicacin de Internet, como motor de vista Razor y damos click
en Aceptar.

4. En la carpeta Models agregamos las clases Proveedor, Categora y


Producto con las propiedades que se muestran.
public class Proveedor
{
public int ProveedorId { get; set; }
public string Nombre { get; set; }
public string Direccion { get; set; }
public string Correo { get; set; }
public List<Producto> productos { get; set; }
}

public class Producto


{
public int ProductoId { get; set; }
public string Descripcion { get; set; }
public decimal Precio { get; set; }
public int CategoriaId { get; set; }
public int ProveedorId { get; set; }
public virtual Categora categoria { get; set; }
public virtual Proveedor proveedor { get; set; }
}

public class Categora


{
public int CategoriaId { get; set; }
public string Descripcion { get; set; }
public List<Producto> productos { get; set; }
}

Ing. William Guzman

Pgina 2

APLICACIONES WEB II
5. crear la base de datos VentasMVC esquema

6. Agregamos la clase de contexto MyDataContext (dentro de la carpeta


Models) que referencia las tres clases (Proveedor, Categora, Producto),
tener en cuenta que esta clase hereda de DbContext
using
using
using
using
using

System;
System.Collections.Generic;
System.Data.Entity;
System.Linq;
System.Web;

namespace VentasMVC.Models
{
public class MyDataContext : DbContext
{
public DbSet<Producto> listaProducto { get; set; }
public DbSet<Categora> listaCategoria { get; set; }
public DbSet<Proveedor> listaProveedor { get; set; }
}
}

Nuestras 4 clases creadas deberan estar en la carpeta Models, tal como se


muestra:

Ing. William Guzman

Pgina 3

APLICACIONES WEB II
7. Ahora agregamos una entrada al Web.Config de tipo connectionString,
para indicarle a EF el proveedor de accesos a datos y la BD, para este
escenario usaremos SQL Server 2012, adems por convencin la propiedad
Name del connectionString deber ser igual al nombre de la clase que
herede de DbContext. A la base de datos la llamaremos VentasMVC

8. Llegado a este punto compilamos el proyecto para que se generen los


assemblies del modelo.
9. Ahora agregamos los controladores para la clase Proveedor, Categora y
Producto
Para el caso de la clase Proveedor, al nombre del controlador le damos
ProveedorController, en la opcin plantilla elegimos Controlador MVC con
acciones de lectura, escritura y vistas que usa Entity Framework; en la
opcin clase modelo elegimos Proveedor y por ltimo en la opcin de clase
de contexto MyDataContext. Finalmente hacemos click a Agregar

Ing. William Guzman

Pgina 4

APLICACIONES WEB II

Repetir la operacin para las clases Categora y Producto, con sus nombres
respectivos

9. Scaffolding es una de las caractersticas del framework de MVC que nos


genera cdigo de manera automtica, para este escenario se ha creado la
clase controller y las vistas para las operaciones CRUD, en conjunto con EF
ha creado la BD en el servidor, con el nombre especificado en el Web.Config.
10. Ahora simplemente ejecutamos (F5)

Llamar al profesor cuando tenga el crud de las 3 tablas


11. Por defecto, EF genera las tablas con los nombres de las clases
pluralizadas, es decir, mi clase se llama Producto y la tabla se llama
Productoes, mi clase se llama Proveedor y la tabla se llama Proveedors, etc.
Si queremos cambiar esa opcin reescribimos el mtodo OnModelCreating
de la clase MyDataContext.

Ing. William Guzman

Pgina 5

APLICACIONES WEB II

Solucin

Ing. William Guzman

Pgina 6

Vous aimerez peut-être aussi