Sdílet prostřednictvím


EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Metoda

Definice

Sledování změn nebude sledovat žádné entity, které jsou vráceny z dotazu LINQ. Pokud se instance entit změní, sledování změn to nezjistí a SaveChanges() neuchová tyto změny v databázi.

public static System.Linq.IQueryable<TEntity> AsNoTracking<TEntity> (this System.Linq.IQueryable<TEntity> source) where TEntity : class;
static member AsNoTracking : System.Linq.IQueryable<'Entity (requires 'Entity : null)> -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function AsNoTracking(Of TEntity As Class) (source As IQueryable(Of TEntity)) As IQueryable(Of TEntity)

Parametry typu

TEntity

Typ dotazované entity.

Parametry

source
IQueryable<TEntity>

Zdrojový dotaz.

Návraty

IQueryable<TEntity>

Nový dotaz, ve kterém nebude sada výsledků sledována kontextem.

Výjimky

source je null.

Poznámky

Zakázání sledování změn je užitečné pro scénáře jen pro čtení, protože se tím vyhnete režii spojenou s nastavením sledování změn pro každou instanci entity. Sledování změn byste neměli zakazovat, pokud chcete manipulovat s instancemi entit a zachovat tyto změny v databázi pomocí SaveChanges().

Překlad identity se neprovádí. Pokud je entita s daným klíčem v jiném výsledku v sadě výsledků dotazu, budou to různé instance.

Výchozí chování sledování dotazů lze řídit pomocí QueryTrackingBehavior.

Další informace a příklady najdete v tématu Dotazy bez sledování v EF Core .

Platí pro