EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
變更追蹤器不會追蹤從 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>
內容不會追蹤結果集的新查詢。
例外狀況
source
為 null
。
備註
停用變更追蹤對於唯讀案例很有用,因為它可避免為每個實體實例設定變更追蹤的額外負荷。 如果您想要操作實體實例,並使用 將那些變更保存到資料庫 SaveChanges() ,則不應該停用變更追蹤。
將不會執行身分識別解析。 如果具有指定索引鍵的實體在結果集中有不同的結果,則它們會是不同的實例。
查詢的預設追蹤行為可由 控制 QueryTrackingBehavior 。
如需詳細資訊和範例 ,請參閱 EF Core 中的無追蹤查詢 。