RelationalQueryableExtensions.FromSql 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
FromSql<TEntity>(DbSet<TEntity>, FormattableString) |
根據代表 SQL 查詢的插補字串建立 LINQ 查詢。 |
FromSql<TEntity>(IQueryable<TEntity>, FormattableString) |
已淘汰.
根據代表 SQL 查詢的插補字串建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 -
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含插補參數預留位置。 您提供的任何插補參數值都會自動轉換成 DbParameter - |
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[]) |
已淘汰.
根據原始 SQL 查詢建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 -
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter -
此多載也會接受 DbParameter 實例作為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - |
FromSql<TEntity>(IQueryable<TEntity>, String, Object[]) |
根據原始 SQL 查詢建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 -
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter -
您也可以建構 DbParameter,並將其提供給 做為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - |
FromSql<TEntity>(DbSet<TEntity>, FormattableString)
根據代表 SQL 查詢的插補字串建立 LINQ 查詢。
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this Microsoft.EntityFrameworkCore.DbSet<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : Microsoft.EntityFrameworkCore.DbSet<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As DbSet(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
類型參數
- TEntity
source
項目的類型。
參數
- source
- DbSet<TEntity>
, IQueryable<T> 做為插入字串 SQL 查詢的基底, (通常是 DbSet<TEntity>) 。
內插字串,表示具有參數的 SQL 查詢。
傳回
, IQueryable<T> 表示插入字串 SQL 查詢。
備註
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含插補參數預留位置。 您提供的任何插補參數值都會自動轉換成 DbParameter 。
如需詳細資訊和範例 ,請參閱使用 EF Core 執行原始 SQL 命令 。
適用於
FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
警告
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
根據代表 SQL 查詢的插補字串建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含插補參數預留位置。 您提供的任何插補參數值都會自動轉換成 DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
。
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
類型參數
- TEntity
source
項目的類型。
參數
- source
- IQueryable<TEntity>
, IQueryable<T> 做為插入字串 SQL 查詢的基底, (通常是 DbSet<TEntity>) 。
表示 SQL 查詢的插補字串。
傳回
, IQueryable<T> 表示插入字串 SQL 查詢。
- 屬性
適用於
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
警告
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
根據原始 SQL 查詢建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
。
此多載也會接受 DbParameter 實例作為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As RawSqlString, ParamArray parameters As Object()) As IQueryable(Of TEntity)
類型參數
- TEntity
source
項目的類型。
參數
- source
- IQueryable<TEntity>
IQueryable<T>,做為原始 SQL 查詢的基底, (通常是 DbSet<TEntity>) 。
- sql
- RawSqlString
原始 SQL 查詢。 鈮。 字串常值可以在這裡傳遞,因為 RawSqlString 隱含可轉換成字串。
- parameters
- Object[]
要指派給參數的值。
傳回
, IQueryable<T> 表示原始 SQL 查詢。
- 屬性
適用於
FromSql<TEntity>(IQueryable<TEntity>, String, Object[])
根據原始 SQL 查詢建立 LINQ 查詢。
如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
。
您也可以建構 DbParameter,並將其提供給 做為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, string sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * string * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As String, ParamArray parameters As Object()) As IQueryable(Of TEntity)
類型參數
- TEntity
source
項目的類型。
參數
- source
- IQueryable<TEntity>
IQueryable<T>,做為原始 SQL 查詢的基底, (通常是 DbSet<TEntity>) 。
- sql
- String
原始 SQL 查詢。
- parameters
- Object[]
要指派給參數的值。
傳回
, IQueryable<T> 表示原始 SQL 查詢。