Udostępnij za pośrednictwem


DbSet Klasa

Definicja

Wersja niegeneryczna DbSet<TEntity> , której można użyć, gdy typ jednostki nie jest znany w czasie kompilacji.

[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
Dziedziczenie
DbSet
Atrybuty

Konstruktory

DbSet()

Tworzy wystąpienie obiektu DbSet po wywołaniu z konstruktora typu pochodnego, które będzie używane jako test podwójny dla zestawów dbSet. Metody i właściwości, które będą używane przez test dwukrotnie, muszą być zaimplementowane przez test dwukrotnie z wyjątkiem AsNoTracking, AsStreaming, include, gdzie domyślna implementacja jest no-op.

Właściwości

ElementType

Typ elementu IQueryable.

(Odziedziczone po DbQuery)
Local

Pobiera obiekt ObservableCollection<T> reprezentujący lokalny widok wszystkich jednostek Dodanych, Bez zmian i Zmodyfikowanych w tym zestawie. Ten widok lokalny pozostanie zsynchronizowany w miarę dodawania lub usuwania jednostek z kontekstu. Podobnie jednostki dodane do lub usunięte z widoku lokalnego zostaną automatycznie dodane do lub usunięte z kontekstu.

Sql

Pobiera reprezentację String bazowego zapytania.

(Odziedziczone po DbQuery)

Metody

Add(Object)

Dodaje daną jednostkę do kontekstu bazowego zestawu w stanie Dodano, tak aby zostanie wstawiona do bazy danych po wywołaniu funkcji SaveChanges.

AddRange(IEnumerable)

Dodaje daną kolekcję jednostek do kontekstu bazowego zestawu z każdą jednostką umieszczaną w stanie Dodano, tak aby została wstawiona do bazy danych po wywołaniu funkcji SaveChanges.

AsNoTracking()

Zwraca nowe zapytanie, w którym zwrócone jednostki nie będą buforowane w obiekcie DbContext.

(Odziedziczone po DbQuery)
AsStreaming()
Przestarzałe.

Zwraca nowe zapytanie, które będzie przesyłać strumieniowo wyniki zamiast buforowania.

(Odziedziczone po DbQuery)
Attach(Object)

Dołącza daną jednostkę do kontekstu bazowego zestawu. Oznacza to, że jednostka jest umieszczana w kontekście w stanie Niezmienione, tak jakby została odczytowana z bazy danych.

Cast<TEntity>()

Zwraca równoważny obiekt ogólny DbSet<TEntity> .

Create()

Tworzy nowe wystąpienie jednostki dla typu tego zestawu. Należy pamiętać, że to wystąpienie NIE jest dodawane ani dołączane do zestawu. Zwrócone wystąpienie będzie serwerem proxy, jeśli kontekst bazowy jest skonfigurowany do tworzenia serwerów proxy, a typ jednostki spełnia wymagania dotyczące tworzenia serwera proxy.

Create(Type)

Tworzy nowe wystąpienie jednostki dla typu tego zestawu lub typu pochodzącego z typu tego zestawu. Należy pamiętać, że to wystąpienie NIE jest dodawane ani dołączane do zestawu. Zwrócone wystąpienie będzie serwerem proxy, jeśli kontekst bazowy jest skonfigurowany do tworzenia serwerów proxy, a typ jednostki spełnia wymagania dotyczące tworzenia serwera proxy.

Equals(Object)

Wersja niegeneryczna DbSet<TEntity> , której można użyć, gdy typ jednostki nie jest znany w czasie kompilacji.

Find(Object[])

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego istnieje w kontekście, jest zwracana natychmiast bez żądania do magazynu. W przeciwnym razie żądanie jest wykonywane do magazynu dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli w kontekście lub magazynie nie zostanie znaleziona żadna jednostka, zwracana jest wartość null.

FindAsync(CancellationToken, Object[])

Asynchronicznie znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego istnieje w kontekście, jest zwracana natychmiast bez żądania do magazynu. W przeciwnym razie żądanie jest wykonywane do magazynu dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli w kontekście lub magazynie nie zostanie znaleziona żadna jednostka, zwracana jest wartość null.

FindAsync(Object[])

Asynchronicznie znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego istnieje w kontekście, jest zwracana natychmiast bez żądania do magazynu. W przeciwnym razie żądanie jest wykonywane do magazynu dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli w kontekście lub magazynie nie zostanie znaleziona żadna jednostka, zwracana jest wartość null.

GetHashCode()

Wersja niegeneryczna DbSet<TEntity> , której można użyć, gdy typ jednostki nie jest znany w czasie kompilacji.

GetType()

Wersja niegeneryczna DbSet<TEntity> , której można użyć, gdy typ jednostki nie jest znany w czasie kompilacji.

Include(String)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

(Odziedziczone po DbQuery)
Remove(Object)

Oznacza daną jednostkę jako Usunięto, tak aby została usunięta z bazy danych po wywołaniu metody SaveChanges. Należy pamiętać, że jednostka musi istnieć w kontekście w innym stanie, zanim zostanie wywołana ta metoda.

RemoveRange(IEnumerable)

Usuwa daną kolekcję jednostek z kontekstu bazowego zestawu z każdą jednostką umieszczaną w stanie Usunięty, tak aby została usunięta z bazy danych po wywołaniu metody SaveChanges.

SqlQuery(String, Object[])

Tworzy nieprzetworzone zapytanie SQL, które zwróci jednostki w tym zestawie. Domyślnie zwracane jednostki są śledzone przez kontekst; Można to zmienić przez wywołanie asNoTracking po zwróconym DbRawSqlQuery . Należy pamiętać, że zwracane jednostki są zawsze typu dla tego zestawu i nigdy typu pochodnego. Jeśli tabela lub tabele, których dotyczy zapytanie, mogą zawierać dane dla innych typów jednostek, należy odpowiednio napisać zapytanie SQL, aby upewnić się, że zwracane są tylko jednostki poprawnego typu.

Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszelkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić symbole zastępcze parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie podane wartości parametrów zostaną automatycznie przekonwertowane na parametr DbParameter. Kontekście. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Wpisy WHERE Author = @p0", userSuppliedAuthor); Alternatywnie możesz również skonstruować parametr DbParameter i podać go do zapytania SqlQuery. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL. Kontekście. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Wpisy WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

Zwraca reprezentację String bazowego zapytania.

(Odziedziczone po DbQuery)

Jawne implementacje interfejsu

IDbAsyncEnumerable.GetAsyncEnumerator()

Zwraca wartość IDbAsyncEnumerator , która wyliczone spowoduje wykonanie zapytania względem bazy danych.

(Odziedziczone po DbQuery)
IEnumerable.GetEnumerator()

Zwraca wartość IEnumerator , która wyliczone spowoduje wykonanie zapytania względem bazy danych.

(Odziedziczone po DbQuery)
IListSource.ContainsListCollection

Zwraca wartość false.

(Odziedziczone po DbQuery)
IListSource.GetList()

Zgłasza wyjątek wskazujący, że powiązanie bezpośrednio z zapytaniem magazynu nie jest obsługiwane. Zamiast tego wypełnij zestaw dbSet danymi, na przykład przy użyciu metody rozszerzenia Load, a następnie powiąż z danymi lokalnymi. W przypadku platformy WPF powiąż z dbSet.Local. W przypadku Windows Forms powiązać z elementem DbSet.Local.ToBindingList().

(Odziedziczone po DbQuery)
IQueryable.Expression

Wyrażenie IQueryable LINQ.

(Odziedziczone po DbQuery)
IQueryable.Provider

Dostawca IQueryable.

(Odziedziczone po DbQuery)

Dotyczy