RelationalDatabaseFacadeExtensions.SqlQuery<TResult> Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una consulta LINQ basada en una consulta SQL sin procesar, que devuelve un conjunto de resultados de un tipo escalar admitido de forma nativa por el proveedor de base de datos.
public static System.Linq.IQueryable<TResult> SqlQuery<TResult> (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member SqlQuery : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function SqlQuery(Of TResult) (databaseFacade As DatabaseFacade, sql As FormattableString) As IQueryable(Of TResult)
Parámetros de tipo
- TResult
Parámetros
- databaseFacade
- DatabaseFacade
DatabaseFacade para el contexto.
Cadena interpolada que representa una consulta SQL con parámetros.
Devoluciones
que IQueryable<T> representa la consulta SQL de cadena interpolada.
Comentarios
Para usar este método con un tipo de valor devuelto que no sea compatible de forma nativa con el proveedor de base de datos, use el DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) método .
El devuelto IQueryable<T> se puede componer mediante LINQ para crear consultas más complejas.
Tenga en cuenta que este método no inicia una transacción. Para usar este método con una transacción, llame primero a BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction.
Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de CÓDIGO SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en un DbParameter.
Consulte Ejecución de comandos SQL sin procesar con EF Core para obtener más información y ejemplos.