EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Yöntem

Tanım

Değişiklik izleyicisi, LINQ sorgusundan döndürülen varlıkların hiçbirini izlemez. Varlık örnekleri değiştirilirse, bu değişiklik izleyicisi tarafından algılanmaz ve SaveChanges() bu değişiklikleri veritabanında kalıcı hale getirmez.

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)

Tür Parametreleri

TEntity

Sorgulanan varlığın türü.

Parametreler

source
IQueryable<TEntity>

Kaynak sorgu.

Döndürülenler

IQueryable<TEntity>

Sonuç kümesinin bağlam tarafından izlenmediği yeni bir sorgu.

Özel durumlar

source, null değeridir.

Açıklamalar

Değişiklik izlemenin devre dışı bırakılması, her varlık örneği için değişiklik izleme ayarlama ek yükünü önlediğinden salt okunur senaryolar için yararlıdır. Varlık örneklerini işlemek ve bu değişiklikleri kullanarak SaveChanges()veritabanında kalıcı hale getirmek istiyorsanız değişiklik izlemeyi devre dışı bırakmamalısınız.

Kimlik çözümleme gerçekleştirilmeyecek. Belirli bir anahtara sahip bir varlık sonuç kümesinde farklı bir sonuçtaysa, bunlar farklı örnekler olacaktır.

Sorgular için varsayılan izleme davranışı tarafından QueryTrackingBehaviordenetlenebilir.

Daha fazla bilgi ve örnek için bkz. EF Core'da izlemesiz sorgular .

Şunlara uygulanır