DbSet - класс
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Неуниверсальная версия DbSet<TEntity>, которая может использоваться, если тип сущности во время сборки неизвестен.
Иерархия наследования
System.Object
System.Data.Entity.Infrastructure.DbQuery
System.Data.Entity.DbSet
Пространство имен: System.Data.Entity
Сборка: EntityFramework (в EntityFramework.dll)
Синтаксис
'Декларация
<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification := "Name is intentional")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")> _
Public MustInherit Class DbSet _
Inherits DbQuery
'Применение
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
Тип DbSet предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
![]() |
DbSet | Создает экземпляр DbSet при вызове из конструктора производного типа, который будет использоваться как тестовый дубль для DbSet.Методы и свойства, используемые в тестовом дубле, должны быть реализованы в нем же за исключением AsNoTracking, AsStreaming и Include, которые в реализации по умолчанию являются пустыми операциями. |
По верхнему краю
Свойства
Имя | Описание | |
---|---|---|
![]() |
ElementType | Тип элемента IQueryable. (Унаследовано от DbQuery.) |
![]() |
Local | Возвращает объект ObservableCollection<T>, содержащий локальное представление всех добавленных, неизменившихся и измененных сущностей в наборе.Это локальное представление остается синхронизированным по мере добавления или удаления сущностей из контекста.Аналогичным образом добавляемые или удаляемые из этого локального представления сущности автоматически добавляются в контекст или удаляются из контекста. |
По верхнему краю
Методы
Имя | Описание | |
---|---|---|
![]() |
Add | Добавляет заданную сущность к контексту, поддерживающему набор, в добавленном состоянии, в результате чего она будет вставлена в базу данных при вызове метода SaveChanges. |
![]() |
AddRange | Добавляет заданную коллекцию сущностей к контексту, поддерживающему набор, каждая сущность которого находится в состоянии "Добавлено", в результате чего она будет вставлена в базу данных при вызове метода SaveChanges. |
![]() |
AsNoTracking | Возвращает новый запрос, в котором возвращаемые сущности не кэшируются в DbContext. (Унаследовано от DbQuery.) |
![]() |
AsStreaming | Устаревшее. Возвращает новый запрос, который обеспечивает потоковую обработку результатов вместо буферизации. (Унаследовано от DbQuery.) |
![]() |
Attach | Присоединяет заданную сущность к контексту, поддерживающему данный набор.Это означает, что сущность помещается в контекст в неизмененном состоянии, как если бы она была считана из базы данных. |
![]() |
Cast<TEntity> | Возвращает эквивалентный универсальный объект DbSet<TEntity>. |
![]() |
Create() | Создает новый экземпляр сущности для типа данного набора.Обратите внимание, что этот экземпляр НЕ добавляется в набор.Возвращаемый экземпляр будет учетной записью-посредником, если базовый контекст настроен для создания посредников, а тип сущности удовлетворяет требованиям для создания учетных записей-посредников. |
![]() |
Create(Type) | Создает новый экземпляр сущности для типа данного набора или для типа, производного от типа данного набора.Обратите внимание, что этот экземпляр НЕ добавляется в набор.Возвращаемый экземпляр будет учетной записью-посредником, если базовый контекст настроен для создания посредников, а тип сущности удовлетворяет требованиям для создания учетных записей-посредников. |
![]() |
Equals | Возвращает значение, указывающее, равен ли указанный набор текущему набору. (Переопределяет DbQuery.Equals(Object).) |
![]() |
Finalize | (Унаследовано от Object.) |
![]() |
Find | Обнаруживает сущность с указанными значениями первичного ключа.Если сущность с указанными значениями первичного ключа содержится в контексте, она возвращается немедленно без выполнения запроса к хранилищу.В противном случае выполняется запрос к хранилищу в поисках сущности с указанными значениями первичного ключа. Если такая сущность обнаружена, она добавляется к контексту и возвращается вызывающей стороне.Если сущность не обнаружена в контексте или в хранилище, возвращается значение NULL. |
![]() |
FindAsync(Object[]) | Асинхронно находит сущность с указанными значениями первичного ключа.Если сущность с указанными значениями первичного ключа содержится в контексте, она возвращается немедленно без выполнения запроса к хранилищу.В противном случае выполняется запрос к хранилищу в поисках сущности с указанными значениями первичного ключа. Если такая сущность обнаружена, она добавляется к контексту и возвращается вызывающей стороне.Если сущность не обнаружена в контексте или в хранилище, возвращается значение NULL. |
![]() |
FindAsync(CancellationToken, Object[]) | Асинхронно находит сущность с указанными значениями первичного ключа.Если сущность с указанными значениями первичного ключа содержится в контексте, она возвращается немедленно без выполнения запроса к хранилищу.В противном случае выполняется запрос к хранилищу в поисках сущности с указанными значениями первичного ключа. Если такая сущность обнаружена, она добавляется к контексту и возвращается вызывающей стороне.Если сущность не обнаружена в контексте или в хранилище, возвращается значение NULL. |
![]() |
GetHashCode | Возвращает хэш-функцию для указанного набора. (Переопределяет DbQuery.GetHashCode().) |
![]() |
GetType | Возвращает тип текущего набора. |
![]() |
Include | Задает связанные объекты, включаемые в результаты запроса. (Унаследовано от DbQuery.) |
![]() |
MemberwiseClone | (Унаследовано от Object.) |
![]() |
Remove | Помечает заданную сущность как удаленную, в результате чего она будет удалена из базы данных при вызове метода SaveChanges.Обратите внимание, что перед вызовом этого метода сущность должна существовать в контексте в каком-либо другом состоянии. |
![]() |
RemoveRange | Удаляет заданную коллекцию сущностей из контекста, поддерживающего набор, каждая сущность которого находится в состоянии "Удалено", в результате чего она будет удалена из базы данных при вызове метода SaveChanges. |
![]() |
SqlQuery | Создает необработанный SQL-запрос, возвращающий сущности в данном наборе.По умолчанию возвращаемые сущности отслеживаются контекстом. Это поведение можно изменить, вызвав метод AsNoTracking для возвращаемого объекта DbRawSqlQuery.Обратите внимание, что сущности всегда имеют тип, заданный для набора, и никогда не имеют производный тип.Если запрашиваемая таблица или таблицы могут содержать данные других типов сущностей, SQL-запрос должен быть написан соответствующим образом, обеспечивая возврат только сущностей нужного типа.Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода SQL.Можно включать в строку SQL-запроса местозаполнители параметров и затем предоставлять значения параметров как дополнительные аргументы.Все предоставляемые значения параметров будут автоматически преобразовываться в DbParameter.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); также можно создать DbParameter и предоставить его в SqlQuery.Это позволяет использовать в строке запроса SQL именованные параметры.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); |
![]() |
ToString | Возвращает представление String базового запроса. (Унаследовано от DbQuery.) |
По верхнему краю
Явные реализации интерфейса
Имя | Описание | |
---|---|---|
![]() ![]() |
IListSource.ContainsListCollection | Возвращает значение типа false. (Унаследовано от DbQuery.) |
![]() ![]() |
IQueryable.Expression | LINQ-выражение IQueryable. (Унаследовано от DbQuery.) |
![]() ![]() |
IEnumerable.GetEnumerator | Возвращает объект IEnumerator, который при перечислении выполняет заданный запрос по отношению к базе данных. (Унаследовано от DbQuery.) |
![]() ![]() |
IListSource.GetList | Вызывает исключение, указывающее, что прямая привязка к запросу к хранилищу не поддерживается.Вместо этого заполните DbSet данными, например, с использованием метода расширения Load, а затем выполните привязку к локальным данным.Применительно к привязке WPF к DbSet.Local.Применительно к формам Windows Forms, связанным с DbSet.Local.ToBindingList(). (Унаследовано от DbQuery.) |
![]() ![]() |
IQueryable.Provider | Поставщик IQueryable. (Унаследовано от DbQuery.) |
![]() ![]() |
IDbAsyncEnumerable.GetAsyncEnumerator | Возвращает объект IDbAsyncEnumerator, который при перечислении выполняет заданный запрос по отношению к базе данных. (Унаследовано от DbQuery.) |
По верхнему краю
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасная работа с членами экземпляров типа не гарантируется.