Crear el método Dapper Repository para datos complejos

asp.net dapper repository

Pregunta

Quiero crear un método de repositorio genérico para los datos complejos (Resultado de Datos de múltiples uniones en la base de datos). Las siguientes son las clases que contienen los datos. Los datos provienen de SQL es la combinación de tres tablas (la arquitectura de tablas es la misma que en la clase)

      public class InterfaceHeaderSetting
        {
            public Guid Id { get; set; }
            public string CodaDocCode { get; set; }
            public string Company { get; set; }
            public string Currency { get; set; }
            public string DocDescription { get; set; }
            public Screen Screen { get; set; }
            public Interface Interface { get; set; }
        }


        public class Screen
        {
            public Guid Id { get; set; }
            public string Name { get; set; }
        }

       public class Interface
        {
          public Guid Id { get; set; }
          public string Name { get; set; }
        }

Tengo los métodos de repositorio como

public IEnumerable<T> GetAllDynamic(string sql)
{
    return Connection.Query<T>(sql, commandType: CommandType.StoredProcedure).ToList();
}


public T Update(T entity, string sql, object dynamicParameters)
{
    return
        Connection.Query<T>(sql, dynamicParameters, commandType: CommandType.StoredProcedure).SingleOrDefault();
}

Quiero un método de repositorio más por el cual pueda llenar los objetos como objeto InterfaceHeaderSetting.

Respuesta popular

No creo que debas reinventar la rueda. Para este tipo de funciones, creo que Entity Framework es la solución.

En mis proyectos, dejo que el marco de la entidad maneje las consultas más avanzadas que necesitan uniones y deja que dapper haga la inserción, actualización y selección de trabajos simples.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué