다음을 통해 공유


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. 문자열 리터럴은 문자열로 암시적으로 변환할 수 있으므로 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 쿼리를 나타내는 입니다.

적용 대상