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 | |
---|---|---|
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 | |
---|---|---|
ElementType | Tipo de elemento IQueryable. (Se hereda de DbQuery). | |
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 | |
---|---|---|
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. | |
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. | |
AsNoTracking | Devuelve una nueva consulta donde las entidades devueltas no se almacenarán en memoria caché en el DbContext. (Se hereda de DbQuery). | |
AsStreaming | Obsoleta. Devuelve una consulta que transmitirá por secuencias los resultados en lugar de almacenarlos en búfer. (Se hereda de DbQuery). | |
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. | |
Cast<TEntity> | Devuelve el objeto DbSet<TEntity> genérico equivalente. | |
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. | |
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. | |
Equals | Devuelve un valor que indica si el conjunto especificado es igual al conjunto actual. (Invalida a DbQuery.Equals(Object)). | |
Finalize | (Se hereda de Object). | |
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. | |
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. | |
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. | |
GetHashCode | Devuelve la función hash para el conjunto especificado. (Invalida a DbQuery.GetHashCode()). | |
GetType | Obtiene el tipo del conjunto actual. | |
Include | Especifica los objetos relacionados que se van a incluir en los resultados de la consulta. (Se hereda de DbQuery). | |
MemberwiseClone | (Se hereda de Object). | |
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. | |
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. | |
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)); | |
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 | |
---|---|---|
IListSource.ContainsListCollection | Devuelve false. (Se hereda de DbQuery). | |
IQueryable.Expression | Expresión LINQ de IQueryable. (Se hereda de DbQuery). | |
IEnumerable.GetEnumerator | Devuelve una IEnumerator que, cuando se enumera, ejecutará la consulta en la base de datos. (Se hereda 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 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). | |
IQueryable.Provider | Proveedor de IQueryable. (Se hereda de DbQuery). | |
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.