En ASP NET MVC 3 por capas con MySQL – Parte 2 configuramos la librería, ahora configuraremos la librería MyApp.Infraestructura para ello agregamos las siguientes referencias al proyecto.
- EntityFramework
- System.Data.Entity
- MyApp.Dominio (Librería que contiene la definición de la entidad País)
Luego definimos la interfaz de repositorio de País
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System.Collections.Generic; using MyApp.Dominio.Entidades; namespace MyApp.Infraestructura.Interfaces { public interface IPaisRepositorio { ICollection<Pais> Obtener(); Pais Obtener(int id); Pais Registrar(Pais entidad); void Eliminar(Pais entidad); void Actualizar(Pais entidad); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Data.Entity; using MyApp.Dominio.Entidades; using System.Data.Entity.ModelConfiguration.Conventions; namespace MyApp.Infraestructura { /// <summary> /// SigEntidades corresponde la nombre de la conexión del web.config /// </summary> public class SigEntidades : DbContext { //Configuramos que LazyLoading este deshabilitado por defecto public SigEntidades(bool lazyLoadingEnabled = false) { this.Configuration.LazyLoadingEnabled = lazyLoadingEnabled; } /// <summary> /// Propiedad que permitirá acceder a la información de la entidada Pais /// </summary> public DbSet<Pais> PaisesEntidades { get; set; } public virtual void Commit(){ base.SaveChanges(); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { //Crea la base de datos cada vez que se ejecuta la aplicación //Database.SetInitializer(new DropCreateDatabaseAlways<IayEntidades>()); //Crea la base de datos cada vez que se ejecuta la aplicación si existen cambios // Database.SetInitializer(new DropCreateDatabaseIfModelChanges<IayEntidades>()); //Remueve el plurar de las tablas generado automaticamente. modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
using System.Collections.Generic; using System.Data; using System.Linq; using MyApp.Dominio.Entidades; using MyApp.Infraestructura.Interfaces; namespace MyApp.Infraestructura.Repositorio { public class PaisRepositorio : IPaisRepositorio { private SigEntidades db; public PaisRepositorio() { this.db = new SigEntidades(); } public ICollection<Pais> Obtener() { return db.PaisesEntidades.OrderBy(q => q.Nombre).ToList(); } public Pais Obtener(int id) { return db.PaisesEntidades.Find(id); } public Pais Registrar(Pais entidad) { db.PaisesEntidades.Add(entidad); db.SaveChanges(); return entidad; } public void Actualizar(Pais entidad) { db.Entry(entidad).State = EntityState.Modified; db.SaveChanges(); } public void Eliminar(Pais entidad) { db.PaisesEntidades.Remove(entidad); db.SaveChanges(); } /// <summary> /// Persistencia /// </summary> public void Guardar() { db.SaveChanges(); } } } |
Ver siguiente post ASP NET MVC 3 por capas con MySQL – Parte 4
(Visitado 593 veces, 1 visitas hoy)
También te puede interesar
Comments
No comments found!
Leave a Comment
Your email address will not be published.