共用方式為


DbSet 類別

定義

非泛型版本,當建置階段不知道實體的類型時,可以使用此版本 DbSet<TEntity>

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
type DbSet = class
    inherit DbQuery
Public MustInherit Class DbSet
Inherits DbQuery
繼承
DbSet
屬性

建構函式

DbSet()

從衍生型別的建構函式呼叫 時,建立 的實例 DbSet ,該建構函式將做為 DbSets 的測試雙精度浮點數。 測試雙精度浮點數所使用的方法和屬性必須由測試雙精度浮點數實作,但 AsNoTracking、AsStreaming 除外,預設實作為 no-op 的 Include。

屬性

ElementType

IQueryable 項目型別。

(繼承來源 DbQuery)
Local

取得 , ObservableCollection<T> 表示這個集合中所有已新增、未變更和修改實體的本機檢視。 當從內容中加入或移除實體時,這個本機檢視會維持同步的狀態。 同樣地,從本機檢視加入或移除的實體將會自動加入至內容中或是從內容中移除。

Sql

String取得基礎查詢的表示。

(繼承來源 DbQuery)

方法

Add(Object)

將給定的實體加入至 Added 狀態中集合底層的內容,好讓呼叫 SaveChanges 時可將它插入資料庫中。

AddRange(IEnumerable)

將指定的實體集合新增至集合的內容中,並將每個實體放入 [新增] 狀態,以便呼叫 SaveChanges 時將它插入資料庫。

AsNoTracking()

傳回新的查詢,其中傳回的實體將不會在 中 DbContext 快取。

(繼承來源 DbQuery)
AsStreaming()
已淘汰.

傳回新的查詢,此查詢會串流結果,而不是緩衝處理。

(繼承來源 DbQuery)
Attach(Object)

將給定的實體附加至集合底層的內容。 也就是說,此實體會放在 Unchanged 狀態的內容中,就像是已經從資料庫讀取一樣。

Cast<TEntity>()

傳回對等的泛型 DbSet<TEntity> 物件。

Create()

針對這個集合的型別建立實體的新執行個體。 請注意,此實例不會新增或附加至集合。 如果設定基礎內容建立 Proxy 而且實體型別符合建立 Proxy 的需求,則傳回的執行個體將會是 Proxy。

Create(Type)

針對這個集合的型別或是衍生自這個集合之型別的型別,建立實體的新執行個體。 請注意,此實例不會新增或附加至集合。 如果設定基礎內容建立 Proxy 而且實體型別符合建立 Proxy 的需求,則傳回的執行個體將會是 Proxy。

Equals(Object)

非泛型版本,當建置階段不知道實體的類型時,可以使用此版本 DbSet<TEntity>

Find(Object[])

尋找具有給定主索引鍵值的實體。 如果具有給定主索引鍵值的實體存在於內容中,則會立刻傳回此實體,而不會對存放區發出要求。 同樣地,如果是具有給定主索引鍵值的實體,則會對存放區發出要求,而且如果找到這個實體,則會將它附加至內容中並傳回。 如果內容或存放區中找不到任何實體,則會傳回 null。

FindAsync(CancellationToken, Object[])

以非同步方式尋找具有指定主鍵值的實體。 如果具有給定主索引鍵值的實體存在於內容中,則會立刻傳回此實體,而不會對存放區發出要求。 同樣地,如果是具有給定主索引鍵值的實體,則會對存放區發出要求,而且如果找到這個實體,則會將它附加至內容中並傳回。 如果內容或存放區中找不到任何實體,則會傳回 null。

FindAsync(Object[])

以非同步方式尋找具有指定主鍵值的實體。 如果具有給定主索引鍵值的實體存在於內容中,則會立刻傳回此實體,而不會對存放區發出要求。 同樣地,如果是具有給定主索引鍵值的實體,則會對存放區發出要求,而且如果找到這個實體,則會將它附加至內容中並傳回。 如果內容或存放區中找不到任何實體,則會傳回 null。

GetHashCode()

非泛型版本,當建置階段不知道實體的類型時,可以使用此版本 DbSet<TEntity>

GetType()

非泛型版本,當建置階段不知道實體的類型時,可以使用此版本 DbSet<TEntity>

Include(String)

指定要包含在查詢結果中的相關物件。

(繼承來源 DbQuery)
Remove(Object)

將給定的實體標記為 Deleted,好讓呼叫 SaveChanges 時可從資料庫中將它刪除。 請注意,此實體必須存在於某個其他狀態的內容中,然後才會呼叫這個方法。

RemoveRange(IEnumerable)

從集合基礎中移除給定的實體集合,並將每個實體放入 Deleted 狀態,如此一來,呼叫 SaveChanges 時,就會從資料庫刪除該實體。

SqlQuery(String, Object[])

建立原始 SQL 查詢,此查詢將會傳回此集合中的實體。 根據預設,傳回的實體會由內容追蹤;您可以藉由在傳回的 DbRawSqlQuery 上呼叫 AsNoTracking 來變更。 請注意,傳回的實體一律屬於此集合的類型,且永遠不會屬於衍生型別。 如果查詢的資料表可能包含其他實體型別的資料,則必須適當地撰寫 SQL 查詢,以確保只會傳回正確型別的實體。

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。設定 (typeof (Blog) ) 。SqlQuery (「SELECT * FROM dbo.貼文 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將其提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。設定 (typeof (Blog) ) 。SqlQuery (「SELECT * FROM dbo.貼文 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

ToString()

String 回基礎查詢的表示。

(繼承來源 DbQuery)

明確介面實作

IDbAsyncEnumerable.GetAsyncEnumerator()

傳回 , IDbAsyncEnumerator 列舉時會針對資料庫執行查詢。

(繼承來源 DbQuery)
IEnumerable.GetEnumerator()

傳回 , IEnumerator 列舉時會針對資料庫執行查詢。

(繼承來源 DbQuery)
IListSource.ContainsListCollection

傳回 false

(繼承來源 DbQuery)
IListSource.GetList()

擲回例外狀況,指出不支援直接繫結至存放區查詢。 請改用資料填入 DbSet,例如使用 Load 擴充方法,然後系結至本機資料。 針對 WPF 系結至 DbSet.Local。 如果是 Windows Form,則繫結至 DbSet.Local.ToBindingList()。

(繼承來源 DbQuery)
IQueryable.Expression

IQueryable LINQ 運算式。

(繼承來源 DbQuery)
IQueryable.Provider

IQueryable 提供者。

(繼承來源 DbQuery)

適用於