Condividi tramite


DbSet Classe

Definizione

Versione non generica di DbSet<TEntity> cui è possibile usare quando il tipo di entità non è noto in fase di compilazione.

[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
Ereditarietà
DbSet
Attributi

Costruttori

DbSet()

Crea un'istanza di un DbSet oggetto quando viene chiamato dal costruttore di un tipo derivato che verrà usato come doppio test per DbSets. I metodi e le proprietà che verranno usati dal doppio test devono essere implementati dal test double, ad eccezione di AsNoTracking, AsStreaming, un oggetto Include in cui l'implementazione predefinita è un'implementazione no-op.

Proprietà

ElementType

Tipo di elemento IQueryable.

(Ereditato da DbQuery)
Local

Ottiene un oggetto ObservableCollection<T> che rappresenta una visualizzazione locale di tutte le entità Aggiunte, Invariate e Modificate in questo set. La visualizzazione locale viene sincronizzata man mano che le entità vengono aggiunte o rimosse dal contesto. Analogamente, le entità aggiunte o rimosse dalla visualizzazione locale verranno automaticamente aggiunte o rimosse dal contesto.

Sql

Ottiene una String rappresentazione della query sottostante.

(Ereditato da DbQuery)

Metodi

Add(Object)

Aggiunge l'entità specificata al contesto sottostante il set nello stato Added in modo tale da essere inserita nel database quando viene chiamato SaveChanges.

AddRange(IEnumerable)

Aggiunge la raccolta specificata di entità nel contesto sottostante il set con ogni entità inserita nello stato Aggiunto in modo che venga inserito nel database quando viene chiamato SaveChanges.

AsNoTracking()

Restituisce una nuova query in cui le entità restituite non verranno memorizzate nella cache nell'oggetto DbContext.

(Ereditato da DbQuery)
AsStreaming()
Obsoleti.

Restituisce una nuova query che trasmetterà i risultati anziché il buffering.

(Ereditato da DbQuery)
Attach(Object)

Associa l'entità specificata al contesto sottostante il set, ovvero l'entità viene posizionata nel contesto nello stato Unchanged, come se fosse stata letta dal database.

Cast<TEntity>()

Restituisce l'oggetto generico DbSet<TEntity> equivalente.

Create()

Crea una nuova istanza di un'entità per il tipo di questo set. Si noti che questa istanza non viene aggiunta o associata al set. L'istanza restituita sarà un proxy se il contesto sottostante è configurato per creare proxy e il tipo di entità soddisfa i requisiti per la creazione di un proxy.

Create(Type)

Crea una nuova istanza di un'entità per il tipo di questo set o per un tipo derivato dal tipo di questo set. Si noti che questa istanza non viene aggiunta o associata al set. L'istanza restituita sarà un proxy se il contesto sottostante è configurato per creare proxy e il tipo di entità soddisfa i requisiti per la creazione di un proxy.

Equals(Object)

Versione non generica di DbSet<TEntity> cui è possibile usare quando il tipo di entità non è noto in fase di compilazione.

Find(Object[])

Consente di trovare un'entità con i valori della chiave primaria specificati. Se un'entità con i valori della chiave primaria specificati esiste nel contesto, verrà restituita immediatamente senza effettuare una richiesta all'archivio. In caso contrario, viene richiesta all'archivio un'entità con i valori della chiave primaria specificati. L'eventuale entità così trovata verrà associata al contesto e restituita. Se non viene trovata alcuna entità nel contesto né nell'archivio, viene restituito null.

FindAsync(CancellationToken, Object[])

Trova in modo asincrono un'entità con i valori della chiave primaria specificati. Se un'entità con i valori della chiave primaria specificati esiste nel contesto, verrà restituita immediatamente senza effettuare una richiesta all'archivio. In caso contrario, viene richiesta all'archivio un'entità con i valori della chiave primaria specificati. L'eventuale entità così trovata verrà associata al contesto e restituita. Se non viene trovata alcuna entità nel contesto né nell'archivio, viene restituito null.

FindAsync(Object[])

Trova in modo asincrono un'entità con i valori della chiave primaria specificati. Se un'entità con i valori della chiave primaria specificati esiste nel contesto, verrà restituita immediatamente senza effettuare una richiesta all'archivio. In caso contrario, viene richiesta all'archivio un'entità con i valori della chiave primaria specificati. L'eventuale entità così trovata verrà associata al contesto e restituita. Se non viene trovata alcuna entità nel contesto né nell'archivio, viene restituito null.

GetHashCode()

Versione non generica di DbSet<TEntity> cui è possibile usare quando il tipo di entità non è noto in fase di compilazione.

GetType()

Versione non generica di DbSet<TEntity> cui è possibile usare quando il tipo di entità non è noto in fase di compilazione.

Include(String)

Specifica gli oggetti correlati da includere nei risultati della query.

(Ereditato da DbQuery)
Remove(Object)

Contrassegna l'entità specificata come Deleted in modo tale da essere eliminata dal database quando viene chiamato SaveChanges. Si noti che l'entità deve esistere nel contesto in un altro stato affinché venga chiamato questo metodo.

RemoveRange(IEnumerable)

Rimuove la raccolta specificata di entità dal contesto sottostante il set con ogni entità inserita nello stato Eliminato in modo che venga eliminata dal database quando viene chiamato SaveChanges.

SqlQuery(String, Object[])

Crea una query SQL non elaborata che restituirà le entità in questo set. Per impostazione predefinita, le entità restituite vengono rilevate dal contesto; questa modifica può essere modificata chiamando AsNoTracking sul DbRawSqlQuery restituito. Si noti che le entità restituite sono sempre del tipo per questo set e non sono mai di un tipo derivato. Se la tabella o le tabelle su cui è stata eseguita una query possono contenere dati per altri tipi di entità, è necessario che la query SQL venga scritta in modo appropriato per garantire che vengano restituite solo le entità del tipo corretto.

Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input utente da proteggere da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri forniti verranno convertiti automaticamente in dbParameter. Contesto. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Post WHERE Author = @p0", userSuppliedAuthor); In alternativa, è anche possibile costruire un dbParameter e specificarlo a SqlQuery. In questo modo è possibile usare parametri denominati nella stringa di query SQL. Contesto. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Post WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

Restituisce una String rappresentazione della query sottostante.

(Ereditato da DbQuery)

Implementazioni dell'interfaccia esplicita

IDbAsyncEnumerable.GetAsyncEnumerator()

Restituisce un oggetto IDbAsyncEnumerator che quando enumerato eseguirà la query sul database.

(Ereditato da DbQuery)
IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator che quando enumerato eseguirà la query sul database.

(Ereditato da DbQuery)
IListSource.ContainsListCollection

Restituisce false.

(Ereditato da DbQuery)
IListSource.GetList()

Genera un'eccezione che indica che l'associazione diretta a una query dell'archivio non è supportata. Popolare invece un oggetto DbSet con dati, ad esempio usando il metodo di estensione Load e quindi eseguire il binding ai dati locali. Per l'associazione WPF a DbSet.Local. Per Windows Form eseguire l'associazione a DbSet.Local.ToBindingList ().

(Ereditato da DbQuery)
IQueryable.Expression

Espressione LINQ IQueryable.

(Ereditato da DbQuery)
IQueryable.Provider

Provider IQueryable.

(Ereditato da DbQuery)

Si applica a