RelationalDatabaseFacadeExtensions.SqlQuery<TResult> 方法

定义

基于原始 SQL 查询创建 LINQ 查询,该查询返回数据库提供程序本机支持的标量类型的结果集。

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)

类型参数

TResult

参数

databaseFacade
DatabaseFacade

DatabaseFacade上下文的 。

sql
FormattableString

表示具有参数的 SQL 查询的内插字符串。

返回

IQueryable<TResult>

一个 IQueryable<T> ,表示内插字符串 SQL 查询。

注解

若要将此方法用于数据库提供程序本身不支持的返回类型,请使用 DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) 方法。

返回的 IQueryable<T> 可以通过使用 LINQ 来构建更复杂的查询。

请注意,此方法不会启动事务。 若要将此方法用于事务,请首先调用 BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。

有关详细信息和示例 ,请参阅使用 EF Core 执行原始 SQL 命令

适用于