RelationalQueryableExtensions.FromSql メソッド

定義

オーバーロード

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

SQL クエリを表す補間文字列に基づいて LINQ クエリを作成します。

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
古い.

SQL クエリを表す補間文字列に基づいて LINQ クエリを作成します。

データベース プロバイダーが指定された SQL での作成をサポートしている場合は、LINQ 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列には、補間パラメーターのプレース ホルダーを含めることができます。 指定した補間パラメーター値は、自動的に DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")に変換されます。

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
古い.

生の SQL クエリに基づいて LINQ クエリを作成します。

データベース プロバイダーが指定された SQL での作成をサポートしている場合は、LINQ 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

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))

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

生の SQL クエリに基づいて LINQ クエリを作成します。

データベース プロバイダーが指定された SQL での作成をサポートしている場合は、LINQ 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

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))

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
FormattableString

パラメーターを含む SQL クエリを表す補間文字列。

戻り値

IQueryable<TEntity>

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 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

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
FormattableString

SQL クエリを表す挿入文字列。

戻り値

IQueryable<TEntity>

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 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

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 クエリ。 Nb。 文字列リテラルは暗黙的に string に変換できるため RawSqlString 、ここで渡すことができます。

parameters
Object[]

パラメーターに割り当てる値。

戻り値

IQueryable<TEntity>

IQueryable<T>生の SQL クエリを表す 。

属性

適用対象

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

生の SQL クエリに基づいて LINQ クエリを作成します。

データベース プロバイダーが指定された SQL での作成をサポートしている場合は、LINQ 演算子 ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)を使用して、生の SQL クエリの上に作成できます。

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<TEntity>

IQueryable<T>生の SQL クエリを表す 。

適用対象