Compartir a través de


DbSet Clase

Definición

Una versión no genérica de la DbSet<TEntity> que se puede usar cuando el tipo de entidad no se conoce en tiempo de compilación.

[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
Herencia
DbSet
Atributos

Constructores

DbSet()

Crea una instancia de cuando DbSet se llama desde el constructor de un tipo derivado que se usará como una prueba doble para DbSets. Los métodos y las propiedades que usará el doble de prueba deben implementarse mediante el doble de prueba excepto AsNoTracking, AsStreaming, un elemento Include donde la implementación predeterminada es una operación no operativa.

Propiedades

ElementType

El tipo de elemento de IQueryable.

(Heredado de DbQuery)
Local

Obtiene un ObservableCollection<T> objeto que representa una vista local de todas las entidades Agregadas, Sin cambios y Modificadas de este conjunto. Esta vista local permanecerá sincronizada cuando se agreguen o quiten entidades en el contexto. Igualmente, las entidades agregadas o quitadas en la vista local se agregarán o quitarán automáticamente en el contexto.

Sql

Obtiene una String representación de la consulta subyacente.

(Heredado de DbQuery)

Métodos

Add(Object)

Agrega la entidad determinada al contexto que subyace al conjunto en estado Added de modo que se insertará en la base de datos cuando se llame a SaveChanges.

AddRange(IEnumerable)

Agrega la colección especificada de entidades al contexto subyacente al conjunto con cada entidad que se coloca en el estado Agregado, de modo que se insertará en la base de datos cuando se llame a SaveChanges.

AsNoTracking()

Devuelve una nueva consulta en la que las entidades devueltas no se almacenarán en caché en .DbContext

(Heredado de DbQuery)
AsStreaming()
Obsoletos.

Devuelve una nueva consulta que transmitirá los resultados en lugar de almacenar en búfer.

(Heredado de DbQuery)
Attach(Object)

Adjunta la entidad determinada al contexto que subyace al conjunto. Es decir, la entidad se coloca en el contexto en estado Unchanged, como si se hubiera leído de la base de datos.

Cast<TEntity>()

Devuelve el objeto genérico DbSet<TEntity> equivalente.

Create()

Crea una nueva instancia de una entidad para el tipo de este conjunto. Tenga en cuenta que esta instancia NO se agrega o adjunta al conjunto. La instancia devuelta será un proxy si el contexto subyacente se configura para crear proxys y el tipo de entidad cumple los requisitos para crear un proxy.

Create(Type)

Crea una nueva instancia de una entidad para el tipo de este conjunto o para un tipo derivado del tipo de este conjunto. Tenga en cuenta que esta instancia NO se agrega o adjunta al conjunto. La instancia devuelta será un proxy si el contexto subyacente se configura para crear proxys y el tipo de entidad cumple los requisitos para crear un proxy.

Equals(Object)

Una versión no genérica de la DbSet<TEntity> que se puede usar cuando el tipo de entidad no se conoce en tiempo de compilación.

Find(Object[])

Busca una entidad con los valores de clave principal determinados. Si una entidad con los valores de clave principal determinados existe en el contexto, se devuelve inmediatamente sin realizarse una solicitud al almacén. De lo contrario, se realiza una solicitud al almacén para una entidad con los valores de clave principal determinados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad en el contexto o en el almacén, se devuelve null.

FindAsync(CancellationToken, Object[])

Busca de forma asincrónica una entidad con los valores de clave principal especificados. Si una entidad con los valores de clave principal determinados existe en el contexto, se devuelve inmediatamente sin realizarse una solicitud al almacén. De lo contrario, se realiza una solicitud al almacén para una entidad con los valores de clave principal determinados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad en el contexto o en el almacén, se devuelve null.

FindAsync(Object[])

Busca de forma asincrónica una entidad con los valores de clave principal especificados. Si una entidad con los valores de clave principal determinados existe en el contexto, se devuelve inmediatamente sin realizarse una solicitud al almacén. De lo contrario, se realiza una solicitud al almacén para una entidad con los valores de clave principal determinados y esta entidad, si se encuentra, se adjunta al contexto y se devuelve. Si no se encuentra ninguna entidad en el contexto o en el almacén, se devuelve null.

GetHashCode()

Una versión no genérica de la DbSet<TEntity> que se puede usar cuando el tipo de entidad no se conoce en tiempo de compilación.

GetType()

Una versión no genérica de la DbSet<TEntity> que se puede usar cuando el tipo de entidad no se conoce en tiempo de compilación.

Include(String)

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

(Heredado de DbQuery)
Remove(Object)

Marca la entidad determinada como Deleted de modo que se eliminará de la base de datos cuando se llame a SaveChanges. Observe que la entidad debe existir en el contexto en otro estado antes de que se llame a este método.

RemoveRange(IEnumerable)

Quita la colección especificada de entidades del contexto subyacente al conjunto con cada entidad que se coloca en el estado Deleted, de modo que se eliminará de la base de datos cuando se llame a SaveChanges.

SqlQuery(String, Object[])

Crea una consulta SQL sin formato que devolverá entidades de este conjunto. De forma predeterminada, el contexto realiza un seguimiento de las entidades devueltas; Esto se puede cambiar llamando a AsNoTracking en el DbRawSqlQuery devuelto. Tenga en cuenta que las entidades devueltas siempre son del tipo de este conjunto y nunca de un tipo derivado. Si la tabla o tablas consultadas pueden contener datos para otros tipos de entidad, la consulta SQL se debe escribir correctamente para asegurarse de que solo se devuelven entidades del tipo correcto.

Al igual que con cualquier API que acepte SQL, es importante parametrizar cualquier entrada de usuario para protegerse frente a un ataque por inyección de código SQL. Puede incluir marcadores de posición de parámetros en la cadena de consulta SQL y, a continuación, proporcionar valores de parámetro como argumentos adicionales. Los valores de parámetro que proporcione se convertirán automáticamente en dbParameter. Contexto. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Publicaciones WHERE Author = @p0", userSuppliedAuthor); Como alternativa, también puede construir un DbParameter y proporcionarlo a SqlQuery. Esto le permite usar parámetros con nombre en la cadena de consulta SQL. Contexto. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

Devuelve una String representación de la consulta subyacente.

(Heredado de DbQuery)

Implementaciones de interfaz explícitas

IDbAsyncEnumerable.GetAsyncEnumerator()

Devuelve un IDbAsyncEnumerator valor que, cuando se enumera, ejecutará la consulta en la base de datos.

(Heredado de DbQuery)
IEnumerable.GetEnumerator()

Devuelve un IEnumerator valor que, cuando se enumera, ejecutará la consulta en la base de datos.

(Heredado de DbQuery)
IListSource.ContainsListCollection

Devuelve false.

(Heredado de DbQuery)
IListSource.GetList()

Produce una excepción que indica que no se admite el enlace directo a una consulta de almacén. En su lugar, rellene un DbSet con datos, por ejemplo, mediante el método de extensión Load y, a continuación, se enlace a los datos locales. Para enlazar WPF a DbSet.Local. Para Windows Forms, el enlace se realiza a DbSet.Local.ToBindingList ().

(Heredado de DbQuery)
IQueryable.Expression

La expresión LINQ de IQueryable.

(Heredado de DbQuery)
IQueryable.Provider

El proveedor de IQueryable.

(Heredado de DbQuery)

Se aplica a