DbSet (Clase)

[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].

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

Jerarquía de herencia

System.Object
  System.Data.Entity.Infrastructure.DbQuery
    System.Data.Entity.DbSet

Espacio de nombres:  System.Data.Entity
Ensamblado:  EntityFramework (en EntityFramework.dll)

Sintaxis

'Declaración
<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification := "Name is intentional")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")> _
Public MustInherit Class DbSet _
    Inherits DbQuery
'Uso
Dim instance As DbSet
[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")]
[SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
public abstract class DbSet : DbQuery
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = L"Name is intentional")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1010:CollectionsShouldImplementGenericInterface")]
public ref class DbSet abstract : public DbQuery
[<AbstractClassAttribute>]
[<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")>]
type DbSet =  
    class 
        inherit DbQuery 
    end
public abstract class DbSet extends DbQuery

El tipo DbSet expone los siguientes miembros.

Constructores

  Name Descripción
Método protegido DbSet Crea una instancia de un DbSet cuando se llama desde el constructor de un tipo derivado que se usará como prueba de doble para DbSets.Los métodos y las propiedades que se usarán en la prueba de doble deben implementarse en la prueba de doble, salvo AsNoTracking, AsStreaming e Include, cuando la implementación predeterminada es una operación sin efecto.

Superior

Propiedades

  Name Descripción
Propiedad pública ElementType Tipo de elemento IQueryable. (Se hereda de DbQuery).
Propiedad pública Local Obtiene un objeto ObservableCollection<T> que representa una vista local de todas las entidades de tipo Added, Unchanged y Modified en 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.

Superior

Métodos

  Name Descripción
Método público Add 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.
Método público AddRange Agrega la colección de entidades especificada al contexto que subyace al conjunto con cada entidad que pasa al estado Added, de forma que se insertará en la base de datos cuando se llame a SaveChanges.
Método público AsNoTracking Devuelve una nueva consulta donde las entidades devueltas no se almacenarán en memoria caché en el DbContext. (Se hereda de DbQuery).
Método público AsStreaming Obsoleta. Devuelve una consulta que transmitirá por secuencias los resultados en lugar de almacenarlos en búfer. (Se hereda de DbQuery).
Método público Attach 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.
Método público Cast<TEntity> Devuelve el objeto DbSet<TEntity> genérico equivalente.
Método público Create() Crea una nueva instancia de una entidad para el tipo de este conjunto.Tenga en cuenta que esta instancia NO se agrega ni se asocia al conjunto.La instancia devuelta será un proxy si el contexto subyacente está configurado para crear proxys y el tipo de entidad cumple los requisitos para crear un proxy.
Método público 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 ni se asocia al conjunto.La instancia devuelta será un proxy si el contexto subyacente está configurado para crear proxys y el tipo de entidad cumple los requisitos para crear un proxy.
Método público Equals Devuelve un valor que indica si el conjunto especificado es igual al conjunto actual. (Invalida a DbQuery.Equals(Object)).
Método protegido Finalize (Se hereda de Object).
Método público Find Busca una entidad con los valores de clave principal determinados.Si en el contexto existe una entidad con los valores de clave principal especificados, se devuelve inmediatamente sin realizar una solicitud al almacenamiento.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.
Método público FindAsync(Object[]) Busca de forma asincrónica una entidad con los valores de clave principal especificados.Si en el contexto existe una entidad con los valores de clave principal especificados, se devuelve inmediatamente sin realizar una solicitud al almacenamiento.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.
Método público FindAsync(CancellationToken, Object[]) Busca de forma asincrónica una entidad con los valores de clave principal especificados.Si en el contexto existe una entidad con los valores de clave principal especificados, se devuelve inmediatamente sin realizar una solicitud al almacenamiento.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.
Método público GetHashCode Devuelve la función hash para el conjunto especificado. (Invalida a DbQuery.GetHashCode()).
Método público GetType Obtiene el tipo del conjunto actual.
Método público Include Especifica los objetos relacionados que se van a incluir en los resultados de la consulta. (Se hereda de DbQuery).
Método protegido MemberwiseClone (Se hereda de Object).
Método público Remove 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.
Método público RemoveRange Quita la colección de entidades especificada del contexto que subyace al conjunto con cada entidad que pasa al estado Deleted, de forma que se quitará de la base de datos cuando se llame a SaveChanges.
Método público SqlQuery Crea una consulta SQL sin formato que devolverá entidades de este conjunto.De forma predeterminada, el contexto realiza el seguimiento de las entidades devueltas; esto puede cambiarse invocando a AsNoTracking en la DbRawSqlQuery devuelta.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.Como con cualquier API que acepte SQL, es importante parametrizar cualquier dato proporcionado por el usuario para protegerse de un ataque de inyección de SQL.Se pueden incluir marcadores de posición de parámetros en la consulta de SQL y, a continuación, proporcionar valores del parámetro como argumentos adicionales.Cualquier valor de parámetro que se proporcione se convertirá automáticamente en un DbParameter.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Alternativamente, también se puede construir un DbParameter y proporcionárselo a SqlQuery.Esto permite usar parámetros nombrados en la cadena de consulta de SQL.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Método público ToString Devuelve una representación de tipo String de la consulta subyacente. (Se hereda de DbQuery).

Superior

Implementaciones de interfaz explícita

  Name Descripción
Implementación explícita de interfacesPropiedad privada IListSource.ContainsListCollection Devuelve false. (Se hereda de DbQuery).
Implementación explícita de interfacesPropiedad privada IQueryable.Expression Expresión LINQ de IQueryable. (Se hereda de DbQuery).
Implementación explícita de interfacesMétodo privado IEnumerable.GetEnumerator Devuelve una IEnumerator que, cuando se enumera, ejecutará la consulta en la base de datos. (Se hereda de DbQuery).
Implementación explícita de interfacesMétodo privado 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 usando el método de extensión Load y, a continuación, realice el enlace con datos locales.Para WPF, el enlace se realiza a DbSet.Local.Para Windows Forms, el enlace se realiza a DbSet.Local.ToBindingList(). (Se hereda de DbQuery).
Implementación explícita de interfacesPropiedad privada IQueryable.Provider Proveedor de IQueryable. (Se hereda de DbQuery).
Implementación explícita de interfacesMétodo privado IDbAsyncEnumerable.GetAsyncEnumerator Devuelve una IDbAsyncEnumerator que, cuando se enumera, ejecutará la consulta en la base de datos. (Se hereda de DbQuery).

Superior

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

System.Data.Entity (Espacio de nombres)