DbSet<TEntity> 類別

定義

DbSet<TEntity>可用來查詢和儲存 的 TEntity 實例。 針對 的 DbSet<TEntity> LINQ 查詢將會轉譯成對資料庫的查詢。

C#
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Linq.IQueryable<TEntity> where TEntity : class
C#
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
C#
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, System.Collections.Generic.IAsyncEnumerable<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
C#
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class

類型參數

TEntity

此集合所操作的實體類型。

繼承
DbSet<TEntity>
衍生
實作
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity> IEnumerable<T> IEnumerable<TEntity> IEnumerable IQueryable IQueryable<TEntity> IListSource IAsyncEnumerable<TEntity>

備註

LINQ 查詢 DbSet<TEntity> 的結果將包含從資料庫傳回的結果,而且可能不會反映尚未保存至資料庫的內容中所做的變更。 例如,結果不會包含新加入的實體,而且可能仍然包含標示要刪除的實體。

視所使用的資料庫而定,針對 的 LINQ 查詢 DbSet<TEntity> 某些部分可能會在記憶體中評估,而不是轉譯成資料庫查詢。

DbSet<TEntity> 物件通常是從 DbSet<TEntity> 衍生 DbContext 或方法 Set<TEntity>() 上的 屬性取得。

Entity Framework Core 不支援在同一 DbContext 執行個體上執行多個平行作業。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,請一律立即等候非同步呼叫,或針對平行執行的作業使用個別的 DbCoNtext 實例。 如需詳細資訊和範例,請參閱 避免 DbCoNtext 執行緒問題

如需詳細資訊 和範例,請參閱 DbCoNtext 存留期、設定和初始化使用 EF Core 查詢資料,以及 變更追蹤

建構函式

DbSet<TEntity>()

DbSet<TEntity>可用來查詢和儲存 的 TEntity 實例。 針對 的 DbSet<TEntity> LINQ 查詢將會轉譯成對資料庫的查詢。

屬性

EntityType

與此 IEntityType 集合相關聯的中繼資料。

Local

取得 , LocalView<TEntity> 表示這個集合中所有已新增、未變更和修改實體的本機檢視。

方法

Add(TEntity)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddAsync(TEntity, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddRange(IEnumerable<TEntity>)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddRange(TEntity[])

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddRangeAsync(IEnumerable<TEntity>, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddRangeAsync(TEntity[])

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AsAsyncEnumerable()

傳回這個類型為 IAsyncEnumerable<T> 的物件。

AsQueryable()

傳回這個類型為 IQueryable<T> 的物件。

Attach(TEntity)

根據預設,會使用 Unchanged 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

AttachRange(IEnumerable<TEntity>)

根據預設,會使用 Unchanged 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

AttachRange(TEntity[])

根據預設,會使用 Unchanged 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

Entry(TEntity)

EntityEntry<TEntity>取得指定實體的 。 專案可讓您存取實體的變更追蹤資訊和作業。

Find(Object[])

尋找具有給定主索引鍵值的實體。 如果內容正在追蹤具有指定主鍵值的實體,則會立即傳回該實體,而不需要對資料庫提出要求。 否則,會針對具有指定主鍵值的實體對資料庫進行查詢,如果找到,則會附加至內容並傳回此實體。 如果找不到實體,則會傳回 null。

FindAsync(Object[])

尋找具有給定主索引鍵值的實體。 如果內容正在追蹤具有指定主鍵值的實體,則會立即傳回該實體,而不需要對資料庫提出要求。 否則,會針對具有指定主鍵值的實體對資料庫進行查詢,如果找到,則會附加至內容並傳回此實體。 如果找不到實體,則會傳回 null。

FindAsync(Object[], CancellationToken)

尋找具有給定主索引鍵值的實體。 如果內容正在追蹤具有指定主鍵值的實體,則會立即傳回該實體,而不需要對資料庫提出要求。 否則,會針對具有指定主鍵值的實體對資料庫進行查詢,如果找到,則會附加至內容並傳回此實體。 如果找不到實體,則會傳回 null。

GetAsyncEnumerator(CancellationToken)

傳回 , IAsyncEnumerator<T> 當列舉會針對資料庫非同步執行查詢時。

Remove(TEntity)

開始追蹤處於狀態的 Deleted 指定實體,以便呼叫 時 SaveChanges() 會從資料庫移除它。

RemoveRange(IEnumerable<TEntity>)

開始追蹤狀態中的 Deleted 指定實體,以便在呼叫 時 SaveChanges() 從資料庫移除這些實體。

RemoveRange(TEntity[])

開始追蹤狀態中的 Deleted 指定實體,以便在呼叫 時 SaveChanges() 從資料庫移除這些實體。

Update(TEntity)

根據預設,會使用 Modified 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

UpdateRange(IEnumerable<TEntity>)

根據預設,會使用 Modified 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

UpdateRange(TEntity[])

根據預設,會使用 Modified 狀態開始追蹤可從指定實體觸達的指定實體和專案,但如需使用不同狀態的情況,請參閱下方。

明確介面實作

IAsyncEnumerable<TEntity>.GetAsyncEnumerator(CancellationToken)

傳回 , IAsyncEnumerator<T> 當列舉會針對資料庫非同步執行查詢時。

IAsyncEnumerableAccessor<TEntity>.AsyncEnumerable

傳回 , IAsyncEnumerable<T> 當列舉會針對資料庫非同步執行查詢時。

IEnumerable.GetEnumerator()

傳回 , IEnumerator 列舉時會針對資料庫執行查詢,以從資料庫載入所有實體。

IEnumerable<TEntity>.GetEnumerator()

傳回 , IEnumerator<T> 列舉時會針對資料庫執行查詢,以從資料庫載入所有實體。

IInfrastructure<IServiceProvider>.Instance

取得用來解析服務的範圍 IServiceProvider

IListSource.ContainsListCollection

取得值,指出集合是否為 System.Collections.IList 物件的集合。 一律傳回 false

IListSource.GetList()

嘗試將資料直接系結至 DbSet<TEntity> 時,資料系結架構會呼叫這個方法。

IQueryable.ElementType

取得 IQueryable 專案類型。

IQueryable.Expression

取得 IQueryable LINQ 運算式。

IQueryable.Provider

取得 IQueryable 提供者。

擴充方法

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

根據原始 SQL 查詢建立 LINQ 查詢。

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

指定用於查詢之資料分割的分割區索引鍵。 使用根據分割區索引鍵提供許可權的資源權杖進行驗證時,需要此權杖,

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式判斷序列的所有專案是否符合條件。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式判斷序列的任何專案是否符合條件。

AnyAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式判斷序列是否包含任何專案。

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

IAsyncEnumerable<T> 回可以非同步列舉的 。

AsNoTracking<TEntity>(IQueryable<TEntity>)

變更追蹤器不會追蹤從 LINQ 查詢傳回的任何實體。 如果修改實體實例,則變更追蹤器不會偵測到此情況,而且 SaveChanges() 不會將這些變更保存到資料庫。

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

變更追蹤器不會追蹤從 LINQ 查詢傳回的任何實體。 如果修改實體實例,則變更追蹤器不會偵測到此情況,而且 SaveChanges() 不會將這些變更保存到資料庫。

AsTracking<TEntity>(IQueryable<TEntity>)

傳回新的查詢,其中變更追蹤器會追蹤傳回之所有實體的變更。 在 期間 SaveChanges() ,將會偵測到實體實例的任何修改並保存到資料庫。

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

傳回新的查詢,根據 'track' 參數的值而定,變更追蹤器會追蹤所傳回之所有實體的變更, 追蹤時,將會偵測到實體實例的任何修改,並在 期間 SaveChanges() 保存到資料庫。 若未追蹤,如果修改實體實例,則變更追蹤器不會偵測到此變更,而且 SaveChanges() 不會將這些變更保存到資料庫。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

以非同步方式計算輸入序列上叫用投影函式所取得之值序列的平均值。

ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken)

使用預設相等比較子,以非同步方式判斷序列是否包含指定的專案。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回序列中滿足條件的專案數。

CountAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列中的專案數目。

ElementAtAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

以非同步方式傳回序列中指定索引處的專案。

ElementAtOrDefaultAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

以非同步方式傳回序列中指定索引處的專案,如果索引超出範圍,則傳回預設值。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回符合指定條件之序列的第一個專案。

FirstAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的第一個專案。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回符合指定條件之序列的第一個專案,如果沒有找到這類專案,則傳回預設值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的第一個專案,如果序列不包含任何專案,則傳回預設值。

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

以非同步方式列舉查詢結果,並在每個專案上執行指定的動作。

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

指定目前的 Entity Framework LINQ 查詢不應套用任何模型層級積極式載入導覽。

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

指定目前的 Entity Framework LINQ 查詢不應套用任何模型層級實體查詢篩選。

Include<TEntity>(IQueryable<TEntity>, String)

指定要包含在查詢結果中的相關實體。 要包含的導覽屬性是從要查詢的實體類型開始指定, (TEntity) 。 可以附加要包含的進一步導覽屬性,並以 '.' 字元分隔。

Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)

指定要包含在查詢結果中的相關實體。 要包含的導覽屬性是從要查詢的實體類型開始指定, (TEntity) 。 如果您想要根據要包含之型別的導覽屬性來包含其他型別,請在此呼叫之後鏈結對 的呼叫 ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)

LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回符合指定條件之序列的最後一個專案。

LastAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的最後一個專案。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回序列的最後一個專案,如果找不到這類專案,則符合指定的條件或預設值。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的最後一個專案,如果序列不包含任何元素,則傳回預設值。

Load<TSource>(IQueryable<TSource>)

列舉查詢。 使用 Entity Framework 時,這會導致查詢的結果載入至相關聯的內容。 這相當於呼叫 ToList,然後捨棄清單 (,而不需要實際建立清單) 的額外負荷。

LoadAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式列舉查詢。 使用 Entity Framework 時,這會導致查詢的結果載入至相關聯的內容。 這相當於呼叫 ToList,然後捨棄清單 (,而不需要實際建立清單) 的額外負荷。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回 , Int64 表示序列中滿足條件的專案數目。

LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回 , Int64 表示序列中的專案總數。

MaxAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的最大值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

以非同步方式在序列的每個元素上叫用投影函式,並傳回產生的最大值。

MinAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

以非同步方式在序列的每個元素上叫用投影函式,並傳回產生的最小值。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回符合指定條件之序列的唯一元素,如果有多個這類專案存在,則會擲回例外狀況。

SingleAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的唯一元素,如果序列中沒有一個專案,則會擲回例外狀況。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

以非同步方式傳回序列中唯一符合指定條件的專案,如果沒有這類專案,則傳回預設值;如果多個元素符合條件,這個方法就會擲回例外狀況。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式傳回序列的唯一元素;如果序列是空的,則傳回預設值;如果序列中有一個以上的元素,這個方法就會擲回例外狀況。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

以非同步方式計算在輸入序列的每個元素上叫用投影函式所取得的值序列總和。

TagWith<T>(IQueryable<T>, String)

將標記加入至與 EF LINQ 查詢相關聯的標記集合。 標籤是查詢批註,可在查詢管線的不同點提供內容追蹤資訊。

TagWithCallSite<T>(IQueryable<T>, String, Int32)

將標籤新增至與 EF LINQ 查詢相關聯的標記集合,其中包含來原始檔案名和呼叫 方法的行,該方法可在查詢管線的不同點提供內容追蹤資訊。

ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式列舉陣列,以非同步方式從 IQueryable<T> 建立陣列。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>根據指定的索引鍵選取器函式和比較子,以非同步方式列舉,從 IQueryable<T> 建立 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Dictionary<TKey,TValue>根據指定的索引鍵選取器函式以非同步方式列舉,從 IQueryable<T> 建立 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>根據指定的索引鍵選取器函式、比較子和元素選取器函式,以非同步方式列舉,從 IQueryable<T> 建立 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Dictionary<TKey,TValue>根據指定的索引鍵選取器和元素選取器函式,以非同步方式列舉,從 IQueryable<T> 建立 。

ToListAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式列舉 ,以非同步方式從 IQueryable<T> 建立 List<T>

GetInfrastructure<T>(IInfrastructure<T>)

從使用 IInfrastructure<T> 隱藏的屬性取得值。

這個方法通常由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

CreateProxy<TEntity>(DbSet<TEntity>, Action<TEntity>, Object[])

如果已啟用 Proxy 建立,則會為實體類型建立 Proxy 實例。

CreateProxy<TEntity>(DbSet<TEntity>, Object[])

如果已啟用 Proxy 建立,則會為實體類型建立 Proxy 實例。

AsSingleQuery<TEntity>(IQueryable<TEntity>)

傳回新的查詢,其設定為在單一資料庫查詢中載入查詢結果中的集合。

AsSplitQuery<TEntity>(IQueryable<TEntity>)

傳回新的查詢,其設定為透過個別的資料庫查詢在查詢結果中載入集合。

ExecuteDelete<TSource>(IQueryable<TSource>)

從資料庫刪除符合 LINQ 查詢之實體實例的所有資料庫資料列。

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

以非同步方式刪除符合資料庫 LINQ 查詢之實體實例的資料庫資料列。

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

匯報符合資料庫中 LINQ 查詢之實體實例的所有資料庫資料列。

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

以非同步方式更新符合資料庫 LINQ 查詢之實體實例的資料庫資料列。

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

根據代表 SQL 查詢的插補字串建立 LINQ 查詢。

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
已淘汰.

根據原始 SQL 查詢建立 LINQ 查詢。

如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

此多載也會接受 DbParameter 實例作為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
已淘汰.

根據代表 SQL 查詢的插補字串建立 LINQ 查詢。

如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含插補參數預留位置。 您提供的任何插補參數值都會自動轉換成 DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

根據原始 SQL 查詢建立 LINQ 查詢。

如果資料庫提供者支援在提供的 SQL 上撰寫,您可以使用 LINQ 運算子在原始 SQL 查詢之上撰寫 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

您也可以建構 DbParameter,並將其提供給 做為參數值。 這可讓您在 SQL 查詢字串中使用具名參數 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)

根據代表 SQL 查詢的插補字串建立 LINQ 查詢。

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

根據原始 SQL 查詢建立 LINQ 查詢。

TemporalAll<TEntity>(DbSet<TEntity>)

在指定的 DbSet 上套用時態 'All' 作業,這會傳回實體的所有歷程記錄版本及其目前狀態。

TemporalAsOf<TEntity>(DbSet<TEntity>, DateTime)

在指定的 DbSet 上套用時態 'AsOf' 作業,它只會傳回在指定時間點存在於資料庫中的專案。

TemporalBetween<TEntity>(DbSet<TEntity>, DateTime, DateTime)

在指定的 DbSet 上套用時態 'Between' 作業,這只會傳回資料庫中在兩個時間點之間的元素。

TemporalContainedIn<TEntity>(DbSet<TEntity>, DateTime, DateTime)

在指定的 DbSet 上套用時態 'ContainedIn' 作業,它只會傳回資料庫中在兩個時間點之間的元素。

TemporalFromTo<TEntity>(DbSet<TEntity>, DateTime, DateTime)

在指定的 DbSet 上套用時態 'FromTo' 作業,它只會傳回資料庫中在兩個時間點之間的元素。

適用於

產品 版本
Entity Framework Core 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0