次の方法で共有


EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> メソッド

定義

変更トラッカーは、LINQ クエリから返されるエンティティを追跡しません。 エンティティ インスタンスが変更された場合、これは変更トラッカーによって検出されず、 SaveChanges() それらの変更はデータベースに保持されません。

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)

型パラメーター

TEntity

クエリ対象のエンティティの種類。

パラメーター

source
IQueryable<TEntity>

ソース クエリです。

戻り値

IQueryable<TEntity>

結果セットがコンテキストによって追跡されない新しいクエリ。

例外

sourcenull です。

注釈

変更の追跡を無効にすると、各エンティティ インスタンスの変更追跡を設定するオーバーヘッドが回避されるため、読み取り専用のシナリオに役立ちます。 エンティティ インスタンスを操作し、 を使用して SaveChanges()データベースに変更を保持する場合は、変更の追跡を無効にしないでください。

ID 解決は実行されません。 特定のキーを持つエンティティが結果セットで異なる結果になる場合、それらは異なるインスタンスになります。

クエリの既定の追跡動作は、 によって QueryTrackingBehavior制御できます。

詳細と例については、「 EF Core の追跡なしのクエリ 」を参照してください。

適用対象