Sdílet prostřednictvím


RelationalQueryableExtensions Třída

Definice

Metody rozšíření specifické pro relační databázi pro dotazy LINQ.

public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
Dědičnost
RelationalQueryableExtensions

Metody

AsSingleQuery<TEntity>(IQueryable<TEntity>)

Vrátí nový dotaz, který je nakonfigurován tak, aby načetl kolekce ve výsledcích dotazu v jednom databázovém dotazu.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Vrátí nový dotaz, který je nakonfigurován tak, aby načetl kolekce ve výsledcích dotazu prostřednictvím samostatných databázových dotazů.

CreateDbCommand(IQueryable)

Vytvoří DbCommand nastavení pro spuštění tohoto dotazu.

ExecuteDelete<TSource>(IQueryable<TSource>)

Odstraní všechny řádky databáze pro instance entit, které odpovídají dotazu LINQ z databáze.

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

Asynchronně odstraní řádky databáze pro instance entit, které odpovídají dotazu LINQ z databáze.

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

Aktualizace všechny řádky databáze pro instance entit, které odpovídají dotazu LINQ z databáze.

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

Asynchronně aktualizuje řádky databáze pro instance entit, které odpovídají dotazu LINQ z databáze.

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

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Zastaralé.

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout interpolované držitele umístění parametrů. Všechny hodnoty interpolovaných parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Zastaralé.

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Toto přetížení také přijímá instance DbParameter jako hodnoty parametrů. To vám umožní použít pojmenované parametry v řetězci dotazu SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Pokud zprostředkovatel databáze podporuje psaní na zadaném SQL, můžete vytvořit nad nezpracovaným dotazem SQL pomocí operátorů LINQ – context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Můžete také vytvořit DbParameter a zadat ho jako hodnotu parametru. To vám umožní použít pojmenované parametry v řetězci dotazu SQL – context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

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

Vytvoří dotaz LINQ založený na interpolovaném řetězci představujícím dotaz SQL.

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

Vytvoří dotaz LINQ na základě nezpracovaného dotazu SQL.

Platí pro