Bagikan melalui


ChangeTracker.TrackGraph Metode

Definisi

Overload

TrackGraph(Object, Action<EntityEntryGraphNode>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

Metode ini dirancang untuk digunakan dalam skenario terputus di mana entitas diambil menggunakan satu instans konteks dan kemudian perubahan disimpan menggunakan instans konteks yang berbeda. Contohnya adalah layanan web di mana satu panggilan layanan mengambil entitas dari database dan panggilan layanan lain mempertahankan perubahan apa pun pada entitas. Setiap panggilan layanan menggunakan instans baru konteks yang dibuang saat panggilan selesai.

Biasanya traversal grafik harus berhenti setiap kali entitas yang sudah dilacak ditemui atau ketika entitas tercapai yang tidak boleh dilacak. Untuk perilaku umum ini, gunakan TrackGraph(Object, Action<EntityEntryGraphNode>) kelebihan beban. Kelebihan beban ini, di sisi lain, memungkinkan panggilan balik untuk memutuskan kapan traversal akan berakhir, tetapi onus kemudian berada di pemanggil untuk memastikan bahwa traversal tidak akan memasuki perulangan tak terbatas.

TrackGraph(Object, Action<EntityEntryGraphNode>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

public virtual void TrackGraph (object rootEntity, Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> callback);
abstract member TrackGraph : obj * Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> -> unit
override this.TrackGraph : obj * Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> -> unit
Public Overridable Sub TrackGraph (rootEntity As Object, callback As Action(Of EntityEntryGraphNode))

Parameter

rootEntity
Object

Entitas untuk memulai traversal dari.

callback
Action<EntityEntryGraphNode>

Tindakan untuk mengonfigurasi informasi pelacakan perubahan untuk setiap entitas. Agar entitas mulai dilacak, State harus diatur.

Keterangan

Metode ini dirancang untuk digunakan dalam skenario terputus di mana entitas diambil menggunakan satu instans konteks dan kemudian perubahan disimpan menggunakan instans konteks yang berbeda. Contohnya adalah layanan web di mana satu panggilan layanan mengambil entitas dari database dan panggilan layanan lain mempertahankan perubahan apa pun pada entitas. Setiap panggilan layanan menggunakan instans baru konteks yang dibuang saat panggilan selesai.

Jika entitas ditemukan yang sudah dilacak oleh konteks, entitas tersebut tidak diproses (dan properti navigasinya tidak dilalui).

Lihat Pelacakan perubahan EF Core untuk informasi dan contoh selengkapnya.

Berlaku untuk

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

public virtual void TrackGraph<TState> (object rootEntity, TState state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<TState>,bool> callback);
public virtual void TrackGraph<TState> (object rootEntity, TState? state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<TState>,bool> callback);
abstract member TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<'State>, bool> -> unit
override this.TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<'State>, bool> -> unit
Public Overridable Sub TrackGraph(Of TState) (rootEntity As Object, state As TState, callback As Func(Of EntityEntryGraphNode(Of TState), Boolean))

Jenis parameter

TState

Jenis objek status.

Parameter

rootEntity
Object

Entitas untuk memulai traversal dari.

state
TState

Objek status arbitrer diteruskan ke panggilan balik.

callback
Func<EntityEntryGraphNode<TState>,Boolean>

Delegasi untuk mengonfigurasi informasi pelacakan perubahan untuk setiap entitas. Parameter kedua untuk panggilan balik adalah objek status arbitrer yang diteruskan di atas. Perulangan grafik tidak akan berlanjut ke bawah grafik jika panggilan balik mengembalikan false.

Keterangan

Metode ini dirancang untuk digunakan dalam skenario terputus di mana entitas diambil menggunakan satu instans konteks dan kemudian perubahan disimpan menggunakan instans konteks yang berbeda. Contohnya adalah layanan web di mana satu panggilan layanan mengambil entitas dari database dan panggilan layanan lain mempertahankan perubahan apa pun pada entitas. Setiap panggilan layanan menggunakan instans baru konteks yang dibuang saat panggilan selesai.

Biasanya traversal grafik harus berhenti setiap kali entitas yang sudah dilacak ditemui atau ketika entitas tercapai yang tidak boleh dilacak. Untuk perilaku umum ini, gunakan TrackGraph(Object, Action<EntityEntryGraphNode>) kelebihan beban. Kelebihan beban ini, di sisi lain, memungkinkan panggilan balik untuk memutuskan kapan traversal akan berakhir, tetapi onus kemudian berada di pemanggil untuk memastikan bahwa traversal tidak akan memasuki perulangan tak terbatas.

Lihat Pelacakan perubahan EF Core untuk informasi dan contoh selengkapnya.

Berlaku untuk

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)

Mulai melacak entitas dan entitas apa pun yang dapat dijangkau dengan melintasi properti navigasinya. Traversal rekursif sehingga properti navigasi entitas yang ditemukan juga akan dipindai. yang ditentukan callback dipanggil untuk setiap entitas yang ditemukan dan harus mengatur State bahwa setiap entitas harus dilacak. Jika tidak ada status yang ditetapkan, entitas tetap tidak terlampir.

Metode ini dirancang untuk digunakan dalam skenario terputus di mana entitas diambil menggunakan satu instans konteks dan kemudian perubahan disimpan menggunakan instans konteks yang berbeda. Contohnya adalah layanan web di mana satu panggilan layanan mengambil entitas dari database dan panggilan layanan lain mempertahankan perubahan apa pun pada entitas. Setiap panggilan layanan menggunakan instans baru konteks yang dibuang saat panggilan selesai.

Biasanya traversal grafik harus berhenti setiap kali entitas yang sudah dilacak ditemui atau ketika entitas tercapai yang tidak boleh dilacak. Untuk perilaku umum ini, gunakan TrackGraph(Object, Action<EntityEntryGraphNode>) kelebihan beban. Kelebihan beban ini, di sisi lain, memungkinkan panggilan balik untuk memutuskan kapan traversal akan berakhir, tetapi onus kemudian berada di pemanggil untuk memastikan bahwa traversal tidak akan memasuki perulangan tak terbatas.

public virtual void TrackGraph<TState> (object rootEntity, TState state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode,TState,bool> callback);
abstract member TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode, 'State, bool> -> unit
override this.TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode, 'State, bool> -> unit
Public Overridable Sub TrackGraph(Of TState) (rootEntity As Object, state As TState, callback As Func(Of EntityEntryGraphNode, TState, Boolean))

Jenis parameter

TState

Jenis objek status.

Parameter

rootEntity
Object

Entitas untuk memulai traversal dari.

state
TState

Objek status arbitrer diteruskan ke panggilan balik.

callback
Func<EntityEntryGraphNode,TState,Boolean>

Delegasi untuk mengonfigurasi informasi pelacakan perubahan untuk setiap entitas. Parameter kedua untuk panggilan balik adalah objek status arbitrer yang diteruskan di atas. Perulangan grafik tidak akan berlanjut ke bawah grafik jika panggilan balik mengembalikan false.

Berlaku untuk