DbSet<TEntity> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Element DbSet<TEntity> może służyć do wykonywania zapytań i zapisywania wystąpień programu TEntity.
Zapytania LINQ względem elementu DbSet<TEntity> zostaną przetłumaczone na zapytania względem bazy danych.
Wyniki zapytania LINQ względem elementu DbSet<TEntity> będą zawierać wyniki zwrócone z bazy danych i mogą nie odzwierciedlać zmian wprowadzonych w kontekście, które nie zostały utrwalone w bazie danych. Na przykład wyniki nie będą zawierać nowo dodanych jednostek i mogą nadal zawierać jednostki oznaczone do usunięcia.
W zależności od używanej bazy danych niektóre części zapytania LINQ względem DbSet<TEntity> elementu mogą być oceniane w pamięci, a nie tłumaczone na zapytanie bazy danych.
DbSet<TEntity> obiekty są zwykle uzyskiwane z DbSet<TEntity> właściwości pochodnej DbContext lub z Set<TEntity>() metody .
Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .
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
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
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
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
type DbSet<'Entity (requires 'Entity : null)> = class
interface IQueryable<'Entity (requires 'Entity : null)>
interface seq<'Entity (requires 'Entity : null)>
interface IEnumerable
interface IQueryable
interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
interface IInfrastructure<IServiceProvider>
type DbSet<'Entity (requires 'Entity : null)> = class
interface IQueryable<'Entity (requires 'Entity : null)>
interface seq<'Entity (requires 'Entity : null)>
interface IEnumerable
interface IQueryable
interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
interface IInfrastructure<IServiceProvider>
interface IListSource
type DbSet<'Entity (requires 'Entity : null)> = class
interface IQueryable<'Entity (requires 'Entity : null)>
interface seq<'Entity (requires 'Entity : null)>
interface IEnumerable
interface IQueryable
interface IAsyncEnumerable<'Entity (requires 'Entity : null)>
interface IInfrastructure<IServiceProvider>
interface IListSource
type DbSet<'Entity (requires 'Entity : null)> = class
interface IQueryable<'Entity (requires 'Entity : null)>
interface seq<'Entity (requires 'Entity : null)>
interface IEnumerable
interface IQueryable
interface IInfrastructure<IServiceProvider>
interface IListSource
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerable(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Parametry typu
- TEntity
Typ jednostki obsługiwanej przez ten zestaw.
- Dziedziczenie
-
DbSet<TEntity>
- Pochodne
- Implementuje
-
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity> IEnumerable<T> IEnumerable<TEntity> IEnumerable IQueryable IQueryable<TEntity> IListSource IAsyncEnumerable<TEntity>
Uwagi
Aby uzyskać więcej informacji, zobacz DbContext lifetime, configuration, and initialization, Querying data with EF Core (Okres istnienia, konfiguracja i inicjowanie danych dbContext), Querying data with EF Core (Wykonywanie zapytań dotyczących danych za pomocą programu EF Core) i Changing tracking (Zmienianie śledzenia ).
Konstruktory
| DbSet<TEntity>() |
Element DbSet<TEntity> może służyć do wykonywania zapytań i zapisywania wystąpień programu Wyniki zapytania LINQ względem elementu DbSet<TEntity> będą zawierać wyniki zwrócone z bazy danych i mogą nie odzwierciedlać zmian wprowadzonych w kontekście, które nie zostały utrwalone w bazie danych. Na przykład wyniki nie będą zawierać nowo dodanych jednostek i mogą nadal zawierać jednostki oznaczone do usunięcia. W zależności od używanej bazy danych niektóre części zapytania LINQ względem DbSet<TEntity> elementu mogą być oceniane w pamięci, a nie tłumaczone na zapytanie bazy danych. DbSet<TEntity> obiekty są zwykle uzyskiwane z DbSet<TEntity> właściwości pochodnej DbContext lub z Set<TEntity>() metody . Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym DbContext wystąpieniu. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext . |
Właściwości
| EntityType |
Metadane IEntityType skojarzone z tym zestawem. |
| Local |
Pobiera obiekt LocalView<TEntity> reprezentujący lokalny widok wszystkich dodanych, niezmienionych i zmodyfikowanych jednostek 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. Tej właściwości można użyć do powiązania danych przez wypełnienie zestawu danymi, na przykład przy użyciu Load<TSource>(IQueryable<TSource>) metody rozszerzenia, a następnie powiązanie z danymi lokalnymi za pomocą tej właściwości przez wywołanie ToObservableCollection() powiązania WPF lub ToBindingList() w przypadku formularzy WinForms.
Należy pamiętać, że ta metoda wywołuje DetectChanges() metodę , chyba że AutoDetectChangesEnabled ustawiono wartość |
Metody
| Add(TEntity) |
Rozpoczyna śledzenie danej jednostki i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. Służy State do ustawiania stanu tylko jednej jednostki. |
| AddAsync(TEntity, CancellationToken) |
Rozpoczyna śledzenie danej jednostki i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. Ta metoda jest asynchroniczna tylko w celu zezwolenia na generatory wartości specjalnych, takich jak ta używana przez element "Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo", aby uzyskać dostęp do bazy danych asynchronicznie. W przypadku wszystkich pozostałych przypadków należy użyć metody innej niż asynchroniczna. Służy State do ustawiania stanu tylko jednej jednostki. |
| AddRange(IEnumerable<TEntity>) |
Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. |
| AddRange(TEntity[]) |
Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. |
| AddRangeAsync(IEnumerable<TEntity>, CancellationToken) |
Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. Ta metoda jest asynchroniczna tylko w celu zezwolenia na generatory wartości specjalnych, takich jak ta używana przez element "Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo", aby uzyskać dostęp do bazy danych asynchronicznie. W przypadku wszystkich pozostałych przypadków należy użyć metody innej niż asynchroniczna. |
| AddRangeAsync(TEntity[]) |
Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu. Ta metoda jest asynchroniczna tylko w celu zezwolenia na generatory wartości specjalnych, takich jak ta używana przez element "Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo", aby uzyskać dostęp do bazy danych asynchronicznie. W przypadku wszystkich pozostałych przypadków należy użyć metody innej niż asynchroniczna. |
| AsAsyncEnumerable() |
Zwraca ten obiekt wpisany jako IAsyncEnumerable<T>. |
| AsQueryable() |
Zwraca ten obiekt wpisany jako IQueryable<T>. Jest to metoda wygody, która ułatwia uściślanie metod rozszerzeń w tej samej przestrzeni nazw, która rozszerza oba interfejsy. |
| Attach(TEntity) |
Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu stanu domyślnego Unchanged , ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Unchanged , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zagwarantować, że zostaną wstawione tylko nowe jednostki. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Unchanged. Służy State do ustawiania stanu tylko jednej jednostki. |
| AttachRange(IEnumerable<TEntity>) |
Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Unchanged , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zagwarantować, że zostaną wstawione tylko nowe jednostki. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Unchanged. Służy State do ustawiania stanu tylko jednej jednostki. |
| AttachRange(TEntity[]) |
Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Unchanged , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zagwarantować, że zostaną wstawione tylko nowe jednostki. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Unchanged. Służy State do ustawiania stanu tylko jednej jednostki. |
| Find(Object[]) |
Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane do bazy danych 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 żadna jednostka nie zostanie znaleziona, zwracana jest wartość null. |
| FindAsync(Object[]) |
Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane do bazy danych 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 żadna jednostka nie zostanie znaleziona, zwracana jest wartość null. |
| FindAsync(Object[], CancellationToken) |
Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane do bazy danych 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 żadna jednostka nie zostanie znaleziona, zwracana jest wartość null. |
| GetAsyncEnumerator(CancellationToken) |
Zwraca wartość IAsyncEnumerator<T> , która wyliczone spowoduje asynchroniczne wykonanie zapytania względem bazy danych. |
| Remove(TEntity) |
Rozpoczyna śledzenie danej jednostki w Deleted stanie, w taki sposób, że zostanie ona usunięta z bazy danych po SaveChanges() wywołaniu. |
| RemoveRange(IEnumerable<TEntity>) |
Rozpoczyna śledzenie danych jednostek w Deleted stanie, w taki sposób, że zostaną usunięte z bazy danych po SaveChanges() wywołaniu. |
| RemoveRange(TEntity[]) |
Rozpoczyna śledzenie danych jednostek w Deleted stanie, w taki sposób, że zostaną usunięte z bazy danych po SaveChanges() wywołaniu. |
| Update(TEntity) |
Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu stanu domyślnego Modified , ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Modified , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zapewnić, że nowe jednostki zostaną wstawione, podczas gdy istniejące jednostki zostaną zaktualizowane. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Modified. Służy State do ustawiania stanu tylko jednej jednostki. |
| UpdateRange(IEnumerable<TEntity>) |
Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Modified stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Modified , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zapewnić, że nowe jednostki zostaną wstawione, podczas gdy istniejące jednostki zostaną zaktualizowane. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Modified. Służy State do ustawiania stanu tylko jednej jednostki. |
| UpdateRange(TEntity[]) |
Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Modified stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan. Ogólnie rzecz biorąc, żadna interakcja z bazą danych nie będzie wykonywana do momentu SaveChanges() wywołania metody . Cykliczne wyszukiwanie właściwości nawigacji zostanie przeprowadzone w celu znalezienia osiągalnych jednostek, które nie są jeszcze śledzone przez kontekst. Wszystkie znalezione jednostki będą śledzone przez kontekst. W przypadku typów jednostek z wygenerowanymi kluczami, jeśli jednostka ma ustawioną wartość klucza podstawowego Modified , będzie ona śledzona w stanie . Jeśli wartość klucza podstawowego nie jest ustawiona, będzie ona śledzona w Added stanie . Pomaga to zapewnić, że nowe jednostki zostaną wstawione, podczas gdy istniejące jednostki zostaną zaktualizowane. Jednostka jest uważana za ustawioną jej wartość klucza podstawowego, jeśli właściwość klucza podstawowego jest ustawiona na wartość inną niż wartość domyślna CLR dla typu właściwości. W przypadku typów jednostek bez wygenerowanych kluczy zestaw stanów to zawsze Modified. Służy State do ustawiania stanu tylko jednej jednostki. |
Jawne implementacje interfejsu
| IAsyncEnumerable<TEntity>.GetAsyncEnumerator(CancellationToken) |
Zwraca wartość IAsyncEnumerator<T> , która wyliczone spowoduje asynchroniczne wykonanie zapytania względem bazy danych. |
| IAsyncEnumerableAccessor<TEntity>.AsyncEnumerable |
Zwraca wartość IAsyncEnumerable<T> , która wyliczone spowoduje asynchroniczne wykonanie zapytania względem bazy danych. |
| IEnumerable.GetEnumerator() |
Zwraca wartość IEnumerator , która wyliczone spowoduje wykonanie zapytania względem bazy danych w celu załadowania wszystkich jednostek z bazy danych. |
| IEnumerable<TEntity>.GetEnumerator() |
Zwraca wartość IEnumerator<T> , która wyliczone spowoduje wykonanie zapytania względem bazy danych w celu załadowania wszystkich jednostek z bazy danych. |
| IInfrastructure<IServiceProvider>.Instance |
Pobiera zakres IServiceProvider używany do rozpoznawania usług. Ta właściwość jest przeznaczona do użycia przez metody rozszerzeń, które muszą korzystać z usług, które nie są bezpośrednio widoczne na publicznej powierzchni interfejsu API. |
| IListSource.ContainsListCollection |
Pobiera wartość wskazującą, czy kolekcja jest kolekcją obiektów System.Collections.IList.
Zawsze zwraca wartość |
| IListSource.GetList() |
Ta metoda jest wywoływana przez struktury powiązań danych podczas próby powiązania danych bezpośrednio z elementem DbSet<TEntity>. Ta implementacja zawsze zgłasza wyjątek jako powiązanie bezpośrednio z obiektem DbSet<TEntity> spowoduje wysłanie zapytania do bazy danych za każdym razem, gdy struktura powiązania danych żąda zawartości kolekcji. Zamiast tego załaduj wyniki do kontekstu, na przykład przy użyciu Load<TSource>(IQueryable<TSource>) metody rozszerzenia, a następnie powiąż je z danymi lokalnymi za pośrednictwem Local metody , wywołując ToObservableCollection() powiązanie WPF lub ToBindingList() w przypadku formularzy WinForm. |
| IQueryable.ElementType |
Pobiera typ elementu IQueryable. |
| IQueryable.Expression |
Pobiera wyrażenie LINQ z możliwością zapytania IQueryable. |
| IQueryable.Provider |
Pobiera dostawcę IQueryable. |
Metody rozszerzania
| FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[]) |
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL. Możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ: context.Blogs.FromSqlRaw("SELECT * FROM root c).OrderBy(b => b.Name)
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 Cosmos: context.Blogs.FromSqlRaw(""SELECT * FROM root c WHERE c["Name"] = {0})", userSuppliedSearchTerm)
|
| WithPartitionKey<TEntity>(IQueryable<TEntity>, String) |
Określ klucz partycji dla partycji używanej dla zapytania. Wymagane w przypadku korzystania z tokenu zasobu, który zapewnia uprawnienia na podstawie klucza partycji na potrzeby uwierzytelniania, |
| AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie określa, czy wszystkie elementy sekwencji spełniają warunek. |
| AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie określa, czy dowolny element sekwencji spełnia warunek. |
| AnyAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie określa, czy sekwencja zawiera jakiekolwiek elementy. |
| AsAsyncEnumerable<TSource>(IQueryable<TSource>) |
Zwraca wartość IAsyncEnumerable<T> , która może być wyliczana asynchronicznie. |
| AsNoTracking<TEntity>(IQueryable<TEntity>) |
Monitor zmian nie będzie śledzić żadnych jednostek zwracanych z zapytania LINQ. Jeśli wystąpienia jednostek zostaną zmodyfikowane, nie zostanie to wykryte przez monitor zmian i SaveChanges() nie będzie utrwalać tych zmian w bazie danych. Wyłączenie śledzenia zmian jest przydatne w scenariuszach tylko do odczytu, ponieważ pozwala uniknąć narzutów związanych z konfigurowaniem śledzenia zmian dla każdego wystąpienia jednostki. Nie należy wyłączać śledzenia zmian, jeśli chcesz manipulować wystąpieniami jednostek i utrwalać te zmiany w bazie danych przy użyciu polecenia SaveChanges(). Rozpoznawanie tożsamości nie zostanie wykonane. Jeśli jednostka z danym kluczem jest w innym wyniku w zestawie wyników, będą one różne wystąpienia. Domyślne zachowanie śledzenia zapytań może być kontrolowane przez usługę QueryTrackingBehavior. |
| AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>) |
Monitor zmian nie będzie śledzić żadnych jednostek zwracanych z zapytania LINQ. Jeśli wystąpienia jednostek zostaną zmodyfikowane, nie zostanie to wykryte przez monitor zmian i SaveChanges() nie będzie utrwalać tych zmian w bazie danych. Wyłączenie śledzenia zmian jest przydatne w scenariuszach tylko do odczytu, ponieważ pozwala uniknąć narzutów związanych z konfigurowaniem śledzenia zmian dla każdego wystąpienia jednostki. Nie należy wyłączać śledzenia zmian, jeśli chcesz manipulować wystąpieniami jednostek i utrwalać te zmiany w bazie danych przy użyciu polecenia SaveChanges(). Rozpoznawanie tożsamości zostanie wykonane w celu upewnienia się, że wszystkie wystąpienia jednostki z danym kluczem w zestawie wyników są reprezentowane przez to samo wystąpienie jednostki. Domyślne zachowanie śledzenia zapytań może być kontrolowane przez usługę QueryTrackingBehavior. |
| AsTracking<TEntity>(IQueryable<TEntity>) |
Zwraca nowe zapytanie, w którym monitor zmian będzie śledzić zmiany dla wszystkich zwracanych jednostek. Wszelkie modyfikacje wystąpień jednostki zostaną wykryte i utrwalone w bazie danych podczas wykonywania operacji SaveChanges(). Domyślne zachowanie śledzenia zapytań może być kontrolowane przez usługę QueryTrackingBehavior. |
| AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior) |
Zwraca nowe zapytanie, w którym monitor zmian będzie śledzić zmiany lub nie dla wszystkich zwracanych jednostek, w zależności od wartości parametru "track". Podczas śledzenia wszelkie modyfikacje wystąpień jednostki zostaną wykryte i utrwalone w bazie danych podczas .SaveChanges() W przypadku braku śledzenia, jeśli wystąpienia jednostki zostaną zmodyfikowane, nie zostanie to wykryte przez monitor zmian i SaveChanges() nie będzie utrwalać tych zmian w bazie danych. Wyłączenie śledzenia zmian jest przydatne w scenariuszach tylko do odczytu, ponieważ pozwala uniknąć narzutów związanych z konfigurowaniem śledzenia zmian dla każdego wystąpienia jednostki. Nie należy wyłączać śledzenia zmian, jeśli chcesz manipulować wystąpieniami jednostek i utrwalać te zmiany w bazie danych przy użyciu polecenia SaveChanges(). Domyślne zachowanie śledzenia zapytań może być kontrolowane przez usługę QueryTrackingBehavior. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken) |
Asynchronicznie oblicza średnią sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken) |
Asynchronicznie określa, czy sekwencja zawiera określony element przy użyciu domyślnego porównania równości. |
| CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca liczbę elementów w sekwencji, które spełniają warunek. |
| CountAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca liczbę elementów w sekwencji. |
| FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca pierwszy element sekwencji, który spełnia określony warunek. |
| FirstAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca pierwszy element sekwencji. |
| FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca pierwszy element sekwencji, który spełnia określony warunek lub wartość domyślną, jeśli taki element nie zostanie znaleziony. |
| FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca pierwszy element sekwencji lub wartość domyślną, jeśli sekwencja nie zawiera żadnych elementów. |
| ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken) |
Asynchronicznie wylicza wyniki zapytania i wykonuje określoną akcję dla każdego elementu. |
| IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>) |
Określa, że bieżące zapytanie LINQ platformy Entity Framework nie powinno mieć zastosowanych nawigacji załadowanych na poziomie modelu. |
| IgnoreQueryFilters<TEntity>(IQueryable<TEntity>) |
Określa, że bieżące zapytanie LINQ platformy Entity Framework nie powinno mieć zastosowanych filtrów zapytań jednostki na poziomie modelu. |
| Include<TEntity>(IQueryable<TEntity>, String) |
Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana od typu jednostki, która jest odpytywana ( |
| Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) |
Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana od typu jednostki, która jest odpytywana ( |
| LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca ostatni element sekwencji, który spełnia określony warunek. |
| LastAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca ostatni element sekwencji. |
| LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca ostatni element sekwencji, który spełnia określony warunek lub wartość domyślną, jeśli taki element nie zostanie znaleziony. |
| LastOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca ostatni element sekwencji lub wartość domyślną, jeśli sekwencja nie zawiera żadnych elementów. |
| Load<TSource>(IQueryable<TSource>) |
Wylicza zapytanie. W przypadku korzystania z programu Entity Framework powoduje to załadowanie wyników zapytania do skojarzonego kontekstu. Jest to równoważne wywołaniu metody ToList, a następnie wyrzuceniu listy (bez narzucenia rzeczywistego utworzenia listy). |
| LoadAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie wylicza zapytanie. W przypadku korzystania z programu Entity Framework powoduje to załadowanie wyników zapytania do skojarzonego kontekstu. Jest to równoważne wywołaniu metody ToList, a następnie wyrzuceniu listy (bez narzucenia rzeczywistego utworzenia listy). |
| LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca wartość Int64 reprezentującą liczbę elementów w sekwencji, które spełniają warunek. |
| LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca wartość Int64 , która reprezentuje łączną liczbę elementów w sekwencji. |
| MaxAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca maksymalną wartość sekwencji. |
| MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken) |
Asynchronicznie wywołuje funkcję projekcji dla każdego elementu sekwencji i zwraca maksymalną wartość wynikową. |
| MinAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca minimalną wartość sekwencji. |
| MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken) |
Asynchronicznie wywołuje funkcję projekcji dla każdego elementu sekwencji i zwraca minimalną wynikową wartość. |
| SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca jedyny element sekwencji, który spełnia określony warunek, i zgłasza wyjątek, jeśli istnieje więcej niż jeden taki element. |
| SingleAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca jedyny element sekwencji i zgłasza wyjątek, jeśli nie ma dokładnie jednego elementu w sekwencji. |
| SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken) |
Asynchronicznie zwraca jedyny element sekwencji, który spełnia określony warunek lub wartość domyślną, jeśli taki element nie istnieje; Ta metoda zgłasza wyjątek, jeśli warunek spełnia więcej niż jeden element. |
| SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie zwraca jedyny element sekwencji lub wartość domyślną, jeśli sekwencja jest pusta; Ta metoda zgłasza wyjątek, jeśli sekwencja zawiera więcej niż jeden element. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken) |
Asynchronicznie oblicza sumę sekwencji wartości uzyskanych przez wywołanie funkcji projekcji dla każdego elementu sekwencji danych wejściowych. |
| TagWith<T>(IQueryable<T>, String) |
Dodaje tag do kolekcji tagów skojarzonych z zapytaniem EF LINQ. Tagi to adnotacje zapytań, które mogą udostępniać kontekstowe informacje śledzenia w różnych punktach potoku zapytania. |
| TagWithCallSite<T>(IQueryable<T>, String, Int32) |
Dodaje tag do kolekcji tagów skojarzonych z zapytaniem EF LINQ z nazwą pliku źródłowego i wierszem, w którym wywoływano metodę , która może dostarczać kontekstowe informacje śledzenia w różnych punktach potoku zapytania. |
| ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie tworzy tablicę na podstawie IQueryable<T> obiektu, wyliczając ją asynchronicznie. |
| ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken) |
Tworzy element Dictionary<TKey,TValue> na podstawie IQueryable<T> obiektu przez wyliczenie go asynchronicznie zgodnie z określoną funkcją selektora kluczy i modułem porównującym. |
| ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken) |
Tworzy element Dictionary<TKey,TValue> na podstawie IQueryable<T> obiektu przez wyliczenie go asynchronicznie zgodnie z określoną funkcją selektora kluczy. |
| ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken) |
Tworzy element Dictionary<TKey,TValue> na podstawie IQueryable<T> elementu, wyliczając go asynchronicznie zgodnie z określoną funkcją selektora kluczy, modułem porównującym i funkcją selektora elementów. |
| ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken) |
Tworzy element Dictionary<TKey,TValue> na podstawie IQueryable<T> elementu, wyliczając go asynchronicznie zgodnie z określonym selektorem kluczy i funkcją selektora elementów. |
| ToListAsync<TSource>(IQueryable<TSource>, CancellationToken) |
Asynchronicznie tworzy obiekt List<T> na podstawie obiektu IQueryable<T> , wyliczając go asynchronicznie. |
| GetInfrastructure<T>(IInfrastructure<T>) |
Pobiera wartość z właściwości ukrytej przy użyciu polecenia IInfrastructure<T>. Ta metoda jest zwykle używana przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji. IInfrastructure<T> Służy do ukrywania właściwości, które nie są przeznaczone do użycia w kodzie aplikacji, ale mogą być używane w metodach rozszerzeń napisanych przez dostawców baz danych itp. |
| CreateProxy<TEntity>(DbSet<TEntity>, Action<TEntity>, Object[]) |
Tworzy wystąpienie serwera proxy dla typu jednostki, jeśli tworzenie serwera proxy zostało włączone. |
| CreateProxy<TEntity>(DbSet<TEntity>, Object[]) |
Tworzy wystąpienie serwera proxy dla typu jednostki, jeśli tworzenie serwera proxy zostało włączone. |
| AsSingleQuery<TEntity>(IQueryable<TEntity>) |
Zwraca nowe zapytanie skonfigurowane do ładowania kolekcji w zapytaniu w wyniku pojedynczego zapytania bazy danych. To zachowanie zwykle gwarantuje spójność w obliczu współbieżnych aktualizacji (ale szczegóły mogą się różnić w zależności od używanego poziomu izolacji bazy danych i transakcji). Może to jednak powodować problemy z wydajnością, gdy zapytanie ładuje wiele powiązanych kolekcji. Domyślne zachowanie dzielenia zapytań dla zapytań może być kontrolowane przez UseQuerySplittingBehavior(QuerySplittingBehavior)program . |
| AsSplitQuery<TEntity>(IQueryable<TEntity>) |
Zwraca nowe zapytanie skonfigurowane do ładowania kolekcji w wynikach zapytania za pomocą oddzielnych zapytań bazy danych. To zachowanie może znacznie poprawić wydajność, gdy zapytanie ładuje wiele kolekcji. Jednak ponieważ używane są oddzielne zapytania, może to spowodować niespójne wyniki w przypadku współbieżnych aktualizacji. Transakcje z możliwością serializacji lub migawek mogą służyć do łagodzenia tego problemu i osiągnięcia spójności z podzielonymi zapytaniami, ale może to przynieść inne koszty wydajności i różnicę behawioralną. Domyślne zachowanie dzielenia zapytań dla zapytań może być kontrolowane przez UseQuerySplittingBehavior(QuerySplittingBehavior)program . |
| FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[]) |
Nieaktualne.
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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 —
To przeciążenie akceptuje również wystąpienia dbParameter jako wartości parametrów. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL — |
| FromSql<TEntity>(IQueryable<TEntity>, FormattableString) |
Nieaktualne.
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.
Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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 interpolowanych. Wszystkie podane wartości parametrów interpolowanych zostaną automatycznie przekonwertowane na parametr DbParameter — |
| FromSql<TEntity>(IQueryable<TEntity>, String, Object[]) |
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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 —
Można również skonstruować parametr DbParameter i podać go jako wartość parametru. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL — |
| FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString) |
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL. Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ: context.Blogs.FromSqlInterpolated($"SELECT * FROM Blogs").OrderBy(b => b.Name)
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 interpolowanych. Wszystkie podane wartości parametrów interpolowanych zostaną automatycznie przekonwertowane na :DbParameter context.Blogs.FromSqlInterpolated($"SELECT * FROM Blogs WHERE Name = {userSuppliedSearchTerm}")
|
| FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[]) |
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje komponowanie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ: 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 :DbParameter context.Blogs.FromSqlRaw("SELECT * FROM Blogs WHERE Name = {0}", userSuppliedSearchTerm)
Jednak nigdy nie należy przekazywać połączonych ani interpolowanych ciągów (
To przeciążenie akceptuje DbParameter również wystąpienia jako wartości parametrów. Oprócz używania symboli zastępczych pozycyjnych, jak powyżej ( context.Blogs.FromSqlRaw("SELECT * FROM Blogs WHERE Name = @searchTerm", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
|
| TemporalAll<TEntity>(DbSet<TEntity>) |
Stosuje operację czasową "All" dla danego zestawu DbSet, która zwraca wszystkie historyczne wersje jednostek, a także ich bieżący stan. Zapytania czasowe są zawsze ustawiane jako "NoTracking". |
| TemporalAsOf<TEntity>(DbSet<TEntity>, DateTime) |
Stosuje operację czasową "AsOf" dla danego zestawu dbSet, która zwraca tylko elementy, które były obecne w bazie danych w danym punkcie w czasie. Informacje czasowe są przechowywane w formacie UTC w bazie danych, więc wszelkie DateTime argumenty w czasie lokalnym mogą prowadzić do nieoczekiwanych wyników. Zapytania czasowe są zawsze ustawiane jako "NoTracking". |
| TemporalBetween<TEntity>(DbSet<TEntity>, DateTime, DateTime) |
Stosuje operację czasową "Between" dla danego zestawu dbSet, która zwraca tylko elementy, które były obecne w bazie danych między dwoma punktami w czasie. Elementy utworzone w punkcie początkowym nie są uwzględniane w wynikach, jednak elementy, które zostały usunięte w punkcie końcowym, są uwzględniane w wynikach. Zwracane są wszystkie wersje jednostek, które znajdowały się w zakresie czasu, więc można zwrócić wiele jednostek z tym samym kluczem. Informacje czasowe są przechowywane w formacie UTC w bazie danych, więc wszelkie DateTime argumenty w czasie lokalnym mogą prowadzić do nieoczekiwanych wyników. Zapytania czasowe są zawsze ustawiane jako "NoTracking". |
| TemporalContainedIn<TEntity>(DbSet<TEntity>, DateTime, DateTime) |
Stosuje operację czasową "ContainedIn" dla danego zestawu dbSet, która zwraca tylko elementy, które znajdowały się w bazie danych między dwoma punktami w czasie. Elementy utworzone w punkcie początkowym, a także elementy, które zostały usunięte w punkcie końcowym, są uwzględniane w wynikach. Zwracane są wszystkie wersje jednostek, które znajdowały się w zakresie czasu, więc można zwrócić wiele jednostek z tym samym kluczem. Informacje czasowe są przechowywane w formacie UTC w bazie danych, więc wszelkie DateTime argumenty w czasie lokalnym mogą prowadzić do nieoczekiwanych wyników. Zapytania czasowe są zawsze ustawiane jako "NoTracking". |
| TemporalFromTo<TEntity>(DbSet<TEntity>, DateTime, DateTime) |
Stosuje operację czasową "FromTo" dla danego zestawu dbSet, która zwraca tylko elementy, które były obecne w bazie danych między dwoma punktami w czasie. Elementy utworzone w punkcie początkowym, a także elementy, które zostały usunięte w punkcie końcowym, nie są uwzględniane w wynikach. Zwracane są wszystkie wersje jednostek, które znajdowały się w zakresie czasu, więc można zwrócić wiele jednostek z tym samym kluczem. Informacje czasowe są przechowywane w formacie UTC w bazie danych, więc wszelkie DateTime argumenty w czasie lokalnym mogą prowadzić do nieoczekiwanych wyników. Zapytania czasowe są zawsze ustawiane jako "NoTracking". |
Dotyczy
Opinia
Prześlij i wyświetl opinię dla