none
Implementar Patrón Repositorio y Unidad de Trabajo con Entity Framework en N Capas RRS feed

  • Pregunta

  • Hola a Todos,

    Quiero realizar un proyecto de cero y necesito escoger un modelo de arquitectura en capas. He leído sobre patrones de diseño MVC y Patrones de acceso a datos con entity framework. Particularmente me gustaría utilizar entity framework implementando Repository y UnitOfWork pero todos los ejemplos muestran una fuerte dependencia con el DBContext lo cual me gustaría desacoplar y digamos que mi capa de acceso a datos no conozca de EntityFramework. Favor sus recomendaciones y algunos modelos de arquitectura que me ayuden a comprender como diseñar mis capas y distribución.

    Muchas gracias.

     

    viernes, 17 de febrero de 2017 17:53

Todas las respuestas

  • hola

    >>muestran una fuerte dependencia con el DBContext lo cual me gustaría desacoplar y digamos que mi capa de acceso a datos no conozca de EntityFramework

    pero entity framework es parte de la persistencia, si entendemos por esta a los repositorios

    la capa de repositorio se intengra a entity framework para hacer uso de la db, pero esta define una interfaz para permitir la creacion de implementaciones que usen otras tecnologias

    public interface IRepository{
    
      //aqui metodos del contrato
    
    }
    
    public class ClienteRepository : IRepository{
    
       //aqui implementacion usando entity framework
    
    }
    
    public class ClienteADORepository : IRepository{
    
       //aqui implementacion usando ado.net
    }


    como veras puedes desacoplando por repositorios usar varias tecnologias, pero la capa de persistencia = repository

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 17 de febrero de 2017 18:41
  • Gracias Leandro,

    Quizás me equivoque, pero, para tener una idea mas clara de la distribución en capas: tendría una capa Datos (que referencia con System.Data.Entity) luego una Repositorio y luego otra Negocio, como y donde implementaría La unidad de trabajo?.

    muchas gracias

    viernes, 17 de febrero de 2017 19:27
  • hola

    >>tendría una capa Datos (que referencia con System.Data.Entity) luego una Repositorio

    capa Datos = Repositorio

    >>donde implementaría La unidad de trabajo?

    trabaja entre ambas y permite desde el negocio realizar varias acciones en la persistencia

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 17 de febrero de 2017 20:00