Udostępnij za pośrednictwem


RelationalQueryableExtensions Klasa

Definicja

Metody rozszerzenia specyficzne dla relacyjnej bazy danych dla zapytań LINQ.

public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
Dziedziczenie
RelationalQueryableExtensions

Metody

AsSingleQuery<TEntity>(IQueryable<TEntity>)

Zwraca nowe zapytanie skonfigurowane do ładowania kolekcji w zapytaniu w wyniku pojedynczego zapytania bazy danych.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Zwraca nowe zapytanie skonfigurowane do ładowania kolekcji w wynikach zapytania za pomocą oddzielnych zapytań bazy danych.

CreateDbCommand(IQueryable)

Tworzy konfigurację DbCommand do wykonania tego zapytania.

ExecuteDelete<TSource>(IQueryable<TSource>)

Usuwa wszystkie wiersze bazy danych dla wystąpień jednostki, które są zgodne z zapytaniem LINQ z bazy danych.

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

Asynchronicznie usuwa wiersze bazy danych dla wystąpień jednostki, które są zgodne z zapytaniem LINQ z bazy danych.

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

Aktualizacje wszystkie wiersze bazy danych dla wystąpień jednostki, które są zgodne z zapytaniem LINQ z bazy danych.

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

Asynchronicznie aktualizuje wiersze bazy danych dla wystąpień jednostek, które są zgodne z zapytaniem LINQ z bazy danych.

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

Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Przestarzałe.

Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.

Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszelkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić symbole zastępcze parametrów interpolowanych. Wszystkie podane wartości parametrów interpolowanych zostaną automatycznie przekonwertowane na parametr DbParameter — context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Przestarzałe.

Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.

Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszelkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić symbole zastępcze parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie podane wartości parametrów zostaną automatycznie przekonwertowane na parametr DbParameter — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

To przeciążenie akceptuje również wystąpienia dbParameter jako wartości parametrów. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.

Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszelkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić symbole zastępcze parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie podane wartości parametrów zostaną automatycznie przekonwertowane na parametr DbParameter — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Można również skonstruować parametr DbParameter i podać go jako wartość parametru. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.

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

Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.

Dotyczy