public static SentenciaSql GenerarSqlSelect(Type tipo, SentenciaSql sentencia, DatabaseContext context) { if (sentencia.AutoCompletar && sentencia != null) { StringBuilder sentenciaCompleta = new StringBuilder(); var mapping = context.Model.FindEntityType(tipo); sentenciaCompleta.Append("SELECT \""); sentenciaCompleta.Append(mapping.GetSchema()); sentenciaCompleta.Append("\".\""); sentenciaCompleta.Append(mapping.GetTableName()); sentenciaCompleta.Append("\".*"); sentenciaCompleta.Append(" FROM \""); sentenciaCompleta.Append(mapping.GetSchema()); sentenciaCompleta.Append("\".\""); sentenciaCompleta.Append(mapping.GetTableName()); sentenciaCompleta.Append("\" "); sentenciaCompleta.Append(sentencia.Sentencia); sentencia.Sentencia = sentenciaCompleta.ToString(); } return(sentencia); }
public async Task <ActionResult <IEnumerable <TipoPantalla> > > PutEsquemasSqlSentence(SentenciaSql sentencia) { sentencia = ExtraUtils.GenerarSqlSelect(typeof(TipoPantalla), sentencia, _context); if (sentencia.Parametros == null || sentencia.Parametros.Length == 0) { return(await _context.TipoPantallaDbSet.FromSqlRaw(sentencia.Sentencia).ToListAsync().ConfigureAwait(true)); } else { return(await _context.TipoPantallaDbSet.FromSqlRaw(sentencia.Sentencia, ExtraUtils.ConvertirAParamPostgres(sentencia.Parametros.ToList()).ToArray()).ToListAsync().ConfigureAwait(true)); } }