Share via


RelationalQueryableExtensions 클래스

정의

LINQ 쿼리에 대한 관계형 데이터베이스별 확장 메서드입니다.

public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
상속
RelationalQueryableExtensions

메서드

AsSingleQuery<TEntity>(IQueryable<TEntity>)

쿼리의 컬렉션을 로드하도록 구성된 새 쿼리를 반환하면 단일 데이터베이스 쿼리가 생성됩니다.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

별도의 데이터베이스 쿼리를 통해 쿼리 결과의 컬렉션을 로드하도록 구성된 새 쿼리를 반환합니다.

CreateDbCommand(IQueryable)

이 쿼리를 DbCommand 실행할 설정을 만듭니다.

ExecuteDelete<TSource>(IQueryable<TSource>)

데이터베이스에서 LINQ 쿼리와 일치하는 엔터티 인스턴스의 모든 데이터베이스 행을 삭제합니다.

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

데이터베이스의 LINQ 쿼리와 일치하는 엔터티 인스턴스에 대한 데이터베이스 행을 비동기적으로 삭제합니다.

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

데이터베이스의 LINQ 쿼리와 일치하는 엔터티 인스턴스에 대한 모든 데이터베이스 행을 업데이트.

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

데이터베이스의 LINQ 쿼리와 일치하는 엔터티 인스턴스의 데이터베이스 행을 비동기적으로 업데이트합니다.

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

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

SQL 쿼리를 나타내는 보간된 문자열을 기반으로 LINQ 쿼리를 만듭니다.

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

원시 SQL 쿼리를 기반으로 LINQ 쿼리를 만듭니다.

적용 대상