Export (0) Print
Expand All

DbSet Class

[This page is specific to the Entity Framework version 6. The latest version is available as the 'Entity Framework' NuGet package. For more information about Entity Framework, see msdn.com/data/ef.]

A non-generic version of DbSet<TEntity> which can be used when the type of entity is not known at build time.

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")]
[SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
public abstract class DbSet : DbQuery

The DbSet type exposes the following members.

  NameDescription
Protected methodDbSetCreates an instance of a DbSet when called from the constructor of a derived type that will be used as a test double for DbSets. Methods and properties that will be used by the test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where the default implementation is a no-op.
Top

  NameDescription
Public propertyElementTypeThe IQueryable element type. (Inherited from DbQuery.)
Public propertyLocalGets an ObservableCollection<T> that represents a local view of all Added, Unchanged, and Modified entities in this set. This local view will stay in sync as entities are added or removed from the context. Likewise, entities added to or removed from the local view will automatically be added to or removed from the context.
Top

  NameDescription
Public methodAddAdds the given entity to the context underlying the set in the Added state such that it will be inserted into the database when SaveChanges is called.
Public methodAddRangeAdds the given collection of entities into context underlying the set with each entity being put into the Added state such that it will be inserted into the database when SaveChanges is called.
Public methodAsNoTrackingReturns a new query where the entities returned will not be cached in the DbContext. (Inherited from DbQuery.)
Public methodAsStreaming Obsolete. Returns a new query that will stream the results instead of buffering. (Inherited from DbQuery.)
Public methodAttachAttaches the given entity to the context underlying the set. That is, the entity is placed into the context in the Unchanged state, just as if it had been read from the database.
Public methodCast<TEntity>Returns the equivalent generic DbSet<TEntity> object.
Public methodCreate()Creates a new instance of an entity for the type of this set. Note that this instance is NOT added or attached to the set. The instance returned will be a proxy if the underlying context is configured to create proxies and the entity type meets the requirements for creating a proxy.
Public methodCreate(Type)Creates a new instance of an entity for the type of this set or for a type derived from the type of this set. Note that this instance is NOT added or attached to the set. The instance returned will be a proxy if the underlying context is configured to create proxies and the entity type meets the requirements for creating a proxy.
Public methodEqualsReturns whether the specified set is equal to the current set. (Overrides DbQuery.Equals(Object).)
Protected methodFinalize (Inherited from Object.)
Public methodFindFinds an entity with the given primary key values. If an entity with the given primary key values exists in the context, then it is returned immediately without making a request to the store. Otherwise, a request is made to the store for an entity with the given primary key values and this entity, if found, is attached to the context and returned. If no entity is found in the context or the store, then null is returned.
Public methodFindAsync(Object[])Asynchronously finds an entity with the given primary key values. If an entity with the given primary key values exists in the context, then it is returned immediately without making a request to the store. Otherwise, a request is made to the store for an entity with the given primary key values and this entity, if found, is attached to the context and returned. If no entity is found in the context or the store, then null is returned.
Public methodFindAsync(CancellationToken, Object[])Asynchronously finds an entity with the given primary key values. If an entity with the given primary key values exists in the context, then it is returned immediately without making a request to the store. Otherwise, a request is made to the store for an entity with the given primary key values and this entity, if found, is attached to the context and returned. If no entity is found in the context or the store, then null is returned.
Public methodGetHashCodeReturns the hash function for the specified set. (Overrides DbQuery.GetHashCode().)
Public methodGetTypeGets the type for the current set.
Public methodIncludeSpecifies the related objects to include in the query results. (Inherited from DbQuery.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodRemoveMarks the given entity as Deleted such that it will be deleted from the database when SaveChanges is called. Note that the entity must exist in the context in some other state before this method is called.
Public methodRemoveRangeRemoves the given collection of entities from the context underlying the set with each entity being put into the Deleted state such that it will be deleted from the database when SaveChanges is called.
Public methodSqlQueryCreates a raw SQL query that will return entities in this set. By default, the entities returned are tracked by the context; this can be changed by calling AsNoTracking on the DbRawSqlQuery returned. Note that the entities returned are always of the type for this set and never of a derived type. If the table or tables queried may contain data for other entity types, then the SQL query must be written appropriately to ensure that only entities of the correct type are returned. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Public methodToStringReturns a String representation of the underlying query. (Inherited from DbQuery.)
Top

  NameDescription
Explicit interface implemetationPrivate propertyIListSource.ContainsListCollectionReturns false. (Inherited from DbQuery.)
Explicit interface implemetationPrivate propertyIQueryable.ExpressionThe IQueryable LINQ Expression. (Inherited from DbQuery.)
Explicit interface implemetationPrivate methodIEnumerable.GetEnumeratorReturns an IEnumerator which when enumerated will execute the query against the database. (Inherited from DbQuery.)
Explicit interface implemetationPrivate methodIListSource.GetListThrows an exception indicating that binding directly to a store query is not supported. Instead populate a DbSet with data, for example by using the Load extension method, and then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to DbSet.Local.ToBindingList(). (Inherited from DbQuery.)
Explicit interface implemetationPrivate propertyIQueryable.ProviderThe IQueryable provider. (Inherited from DbQuery.)
Explicit interface implemetationPrivate methodIDbAsyncEnumerable.GetAsyncEnumeratorReturns an IDbAsyncEnumerator which when enumerated will execute the query against the database. (Inherited from DbQuery.)
Top

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft