DbSet Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Negenerní verze DbSet<TEntity> , jejíž verzi lze použít, pokud typ entity není v době sestavení známý.
[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
- Dědičnost
- Atributy
Konstruktory
DbSet() |
Vytvoří instanci DbSet při volání z konstruktoru odvozeného typu, který bude použit jako test double pro DbSets. Metody a vlastnosti, které budou použity testovací double musí být implementovány test double s výjimkou AsNoTracking, AsStreaming a Include, kde výchozí implementace je no-op. |
Vlastnosti
ElementType |
Typ elementu IQueryable. (Zděděno od DbQuery) |
Local |
Získá objekt ObservableCollection<T> , který představuje místní zobrazení všech přidané, nezměněné a změněné entity v této sadě. Toto místní zobrazení zůstane synchronizované při přidání nebo odebrání entit z kontextu. Stejně tak entity přidané do místního zobrazení nebo z něj odebrané budou automaticky přidány do kontextu nebo odebrány z kontextu. |
Sql |
String Získá reprezentaci podkladového dotazu. (Zděděno od DbQuery) |
Metody
Add(Object) |
Přidá danou entitu do kontextu, který je podkladem sady v přidaném stavu tak, aby byla vložena do databáze při zavolání SaveChanges. |
AddRange(IEnumerable) |
Přidá danou kolekci entit do kontextu, který je podkladem sady, přičemž každá entita je uvedena do přidaného stavu tak, aby byla vložena do databáze při zavolání SaveChanges. |
AsNoTracking() |
Vrátí nový dotaz, ve kterém se vrácené entity nebudou DbContextukládat do mezipaměti v souboru . (Zděděno od DbQuery) |
AsStreaming() |
Zastaralé.
Vrátí nový dotaz, který bude streamovat výsledky místo ukládání do vyrovnávací paměti. (Zděděno od DbQuery) |
Attach(Object) |
Připojí danou entitu ke kontextu, který je podkladem sady. To znamená, že entita je umístěna do kontextu v nezměněném stavu, stejně jako kdyby byla načtena z databáze. |
Cast<TEntity>() |
Vrátí ekvivalentní obecný DbSet<TEntity> objekt. |
Create() |
Vytvoří novou instanci entity pro typ této sady. Všimněte si, že tato instance NENÍ přidána nebo připojena k sadě. Vrácená instance bude proxy, pokud je základní kontext nakonfigurovaný tak, aby vytvářel proxy servery a typ entity splňuje požadavky pro vytvoření proxy serveru. |
Create(Type) |
Vytvoří novou instanci entity pro typ této sady nebo pro typ odvozený od typu této sady. Všimněte si, že tato instance NENÍ přidána nebo připojena k sadě. Vrácená instance bude proxy, pokud je základní kontext nakonfigurovaný tak, aby vytvářel proxy servery a typ entity splňuje požadavky pro vytvoření proxy serveru. |
Equals(Object) |
Negenerní verze DbSet<TEntity> , jejíž verzi lze použít, pokud typ entity není v době sestavení známý. |
Find(Object[]) |
Vyhledá entitu s danými hodnotami primárního klíče. Pokud v kontextu existuje entita s danými hodnotami primárního klíče, vrátí se okamžitě bez provedení požadavku do úložiště. V opačném případě se do úložiště vytvoří požadavek na entitu s danými hodnotami primárního klíče a tato entita, pokud je nalezena, je připojena ke kontextu a vrácena. Pokud se v kontextu nebo úložišti nenajde žádná entita, vrátí se hodnota null. |
FindAsync(CancellationToken, Object[]) |
Asynchronně vyhledá entitu s danými hodnotami primárního klíče. Pokud v kontextu existuje entita s danými hodnotami primárního klíče, vrátí se okamžitě bez provedení požadavku do úložiště. V opačném případě se do úložiště vytvoří požadavek na entitu s danými hodnotami primárního klíče a tato entita, pokud je nalezena, je připojena ke kontextu a vrácena. Pokud se v kontextu nebo úložišti nenajde žádná entita, vrátí se hodnota null. |
FindAsync(Object[]) |
Asynchronně vyhledá entitu s danými hodnotami primárního klíče. Pokud v kontextu existuje entita s danými hodnotami primárního klíče, vrátí se okamžitě bez provedení požadavku do úložiště. V opačném případě se do úložiště vytvoří požadavek na entitu s danými hodnotami primárního klíče a tato entita, pokud je nalezena, je připojena ke kontextu a vrácena. Pokud se v kontextu nebo úložišti nenajde žádná entita, vrátí se hodnota null. |
GetHashCode() |
Negenerní verze DbSet<TEntity> , jejíž verzi lze použít, pokud typ entity není v době sestavení známý. |
GetType() |
Negenerní verze DbSet<TEntity> , jejíž verzi lze použít, pokud typ entity není v době sestavení známý. |
Include(String) |
Určuje související objekty, které se mají zahrnout do výsledků dotazu. (Zděděno od DbQuery) |
Remove(Object) |
Označí danou entitu jako Odstraněnou, aby se při zavolání funkce SaveChanges odstranila z databáze. Všimněte si, že entita musí existovat v kontextu v jiném stavu před zavolání této metody. |
RemoveRange(IEnumerable) |
Odebere danou kolekci entit z kontextu, který je podkladem sady, přičemž každá entita je uvedena do stavu Odstraněno tak, aby byla odstraněna z databáze při zavolání SaveChanges. |
SqlQuery(String, Object[]) |
Vytvoří nezpracovaný dotaz SQL, který vrátí entity v této sadě. Ve výchozím nastavení jsou vrácené entity sledovány kontextem; to lze změnit voláním AsNoTracking na vrácenou DbRawSqlQuery . Všimněte si, že vrácené entity jsou vždy typu pro tuto sadu a nikdy odvozeného typu. Pokud dotazovaná tabulka nebo tabulky mohou obsahovat data pro jiné typy entit, musí být dotaz SQL správně zapsán, aby se zajistilo, že se vrátí pouze entity správného typu. Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter. Kontextu. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Příspěvky WHERE Author = @p0", userSuppliedAuthor); Alternativně můžete také vytvořit DbParameter a poskytnout ho sqlQuery. To vám umožní použít pojmenované parametry v řetězci dotazu SQL. Kontextu. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Příspěvky WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); |
ToString() |
Vrátí reprezentaci String podkladového dotazu. (Zděděno od DbQuery) |
Explicitní implementace rozhraní
IDbAsyncEnumerable.GetAsyncEnumerator() |
Vrátí hodnotu IDbAsyncEnumerator , která při výčtu provede dotaz na databázi. (Zděděno od DbQuery) |
IEnumerable.GetEnumerator() |
Vrátí hodnotu IEnumerator , která při výčtu provede dotaz na databázi. (Zděděno od DbQuery) |
IListSource.ContainsListCollection |
Vrací objekt |
IListSource.GetList() |
Vyvolá výjimku, která značí, že se nepodporuje vazba přímo na dotaz úložiště. Místo toho naplňte DbSet daty, například pomocí metody rozšíření Load, a pak vytvořte vazbu k místním datům. Pro vytvoření vazby WPF na DbSet.Local. Pro model Windows Forms vytvořte vazbu na DbSet.Local.ToBindingList(). (Zděděno od DbQuery) |
IQueryable.Expression |
Výraz LINQ IQueryable. (Zděděno od DbQuery) |
IQueryable.Provider |
Zprostředkovatel IQueryable. (Zděděno od DbQuery) |
Platí pro
Entity Framework