public static void EjecutarComandoSQL(this DbContext pContexto, ConsultaEntidad pComandoEntidad) { Type tipoEntidad = Type.GetType("Sgb_Infrastructure.DAO." + pComandoEntidad.NombreEntidad); var infoMetodo = typeof(EntityFrameworkCoreExtensions).GetMethod("EjecutarComandoSQLPuro", BindingFlags.Static | BindingFlags.NonPublic); var infoMetodoGenerico = infoMetodo.MakeGenericMethod(tipoEntidad); infoMetodoGenerico.Invoke(null, new object[] { pContexto, pComandoEntidad }); }
private static void EjecutarComandoSQLPuro <TipoEntidad>(this DbContext pContexto, ConsultaEntidad pComandoEntidad) where TipoEntidad : class { string sqlFinal = null; sqlFinal = pComandoEntidad.Sql; pContexto.Set <TipoEntidad>().FromSqlRaw(sqlFinal, pComandoEntidad.Parametros); }
private static IEnumerable <object> EjecutarConsultaSQLPura <TipoEntidad>(this DbContext pContexto, ConsultaEntidad pConsultaEntidad) where TipoEntidad : class { string sqlFinal = null; if (!pConsultaEntidad.SqlCompleta) { sqlFinal = "SELECT * FROM " + pContexto.ObtenerNombreEntidadFisica(typeof(TipoEntidad)) + " " + pConsultaEntidad.Sql; } else { sqlFinal = pConsultaEntidad.Sql; } var resultados = pContexto.Set <TipoEntidad>().FromSqlRaw(sqlFinal, pConsultaEntidad.Parametros) .Select(e => (object)e) .ToList(); return(resultados); }
public static IEnumerable <object> EjecutarConsultaSQL(this DbContext pContexto, ConsultaEntidad pConsultaEntidad) { Type tipoEntidad = Type.GetType("Sgb_Infrastructure.DAO." + pConsultaEntidad.NombreEntidad); var infoMetodo = typeof(EntityFrameworkCoreExtensions).GetMethod("EjecutarConsultaSQLPura", BindingFlags.Static | BindingFlags.NonPublic); var infoMetodoGenerico = infoMetodo.MakeGenericMethod(tipoEntidad); var resultados = infoMetodoGenerico.Invoke(null, new object[] { pContexto, pConsultaEntidad }); return((List <Object>)resultados); }