RelationalDatabaseFacadeExtensions.SqlQuery<TResult> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據原始 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 查詢。
傳回
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 命令 。