DbSet 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当生成时实体的类型未知时,可以使用的非泛型版本 DbSet<TEntity> 。
[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
- 继承
- 属性
构造函数
DbSet() |
当从派生类型的构造函数调用 时,创建 的实例 DbSet ,该构造函数将用作 DbSets 的测试双精度。 测试双精度型将使用的方法和属性必须由测试双精度测试实现,AsNoTracking、AsStreaming(其中默认实现为 no-op 的 Include 除外)。 |
属性
ElementType |
IQueryable 元素类型。 (继承自 DbQuery) |
Local |
获取一个 ObservableCollection<T> ,它表示此集中所有“已添加”、“未更改”和“已修改”实体的本地视图。 在上下文中添加或删除实体时,该本地视图将保持同步。 同样,在本地视图中添加或删除实体也会自动在上下文中添加或删除实体。 |
Sql |
获取 String 基础查询的表示形式。 (继承自 DbQuery) |
方法
Add(Object) |
将给定实体以“已添加”状态添加到集的基础上下文中,这样一来,当调用 SaveChanges 时,会将该实体插入到数据库中。 |
AddRange(IEnumerable) |
将给定的实体集合添加到集基础的上下文中,其中每个实体都处于“已添加”状态,以便调用 SaveChanges 时,该实体将插入数据库。 |
AsNoTracking() |
返回一个新查询,其中返回的实体不会缓存在 中 DbContext。 (继承自 DbQuery) |
AsStreaming() |
已过时.
返回将流式传输结果而不是缓冲的新查询。 (继承自 DbQuery) |
Attach(Object) |
将给定实体附加到集的基础上下文中。 也就是说,将实体以“未更改”的状态放置到上下文中,就好像从数据库读取了该实体一样。 |
Cast<TEntity>() |
返回等效的泛型 DbSet<TEntity> 对象。 |
Create() |
为此集的类型创建新的实体实例。 请注意,此实例未添加或附加到集。 如果基础上下文配置为创建代理,且实体类型满足创建代理的要求,则返回的实例将是一个代理。 |
Create(Type) |
为此集的类型或派生自此集类型的类型创建新的实体实例。 请注意,此实例未添加或附加到集。 如果基础上下文配置为创建代理,且实体类型满足创建代理的要求,则返回的实例将是一个代理。 |
Equals(Object) |
当生成时实体的类型未知时,可以使用的非泛型版本 DbSet<TEntity> 。 |
Find(Object[]) |
查找带给定主键值的实体。 如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。 否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。 如果未在上下文或存储区中找到实体,则返回 null。 |
FindAsync(CancellationToken, Object[]) |
异步查找具有给定主键值的实体。 如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。 否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。 如果未在上下文或存储区中找到实体,则返回 null。 |
FindAsync(Object[]) |
异步查找具有给定主键值的实体。 如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。 否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。 如果未在上下文或存储区中找到实体,则返回 null。 |
GetHashCode() |
当生成时实体的类型未知时,可以使用的非泛型版本 DbSet<TEntity> 。 |
GetType() |
当生成时实体的类型未知时,可以使用的非泛型版本 DbSet<TEntity> 。 |
Include(String) |
指定要包括在查询结果中的相关对象。 (继承自 DbQuery) |
Remove(Object) |
将给定实体标记为“已删除”,这样一来,当调用 SaveChanges 时,将从数据库中删除该实体。 请注意,在调用此方法之前,该实体必须以另一种状态存在于该上下文中。 |
RemoveRange(IEnumerable) |
从该集基础的上下文中删除给定的实体集合,并将每个实体置于“已删除”状态,以便调用 SaveChanges 时将从数据库中删除该实体。 |
SqlQuery(String, Object[]) |
创建一个原始 SQL 查询,该查询将返回此集中的实体。 默认情况下,上下文跟踪返回的实体;这可以通过对返回的 调用 AsNoTracking DbRawSqlQuery 进行更改。 请注意,返回的实体始终是此集的类型,绝不是派生类型。 如果查询的一个或多个表可能包含其他实体类型的数据,则必须编写适当的 SQL 查询以确保只返回适当类型的实体。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。设置 (typeof (Blog) ) 。SqlQuery (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。设置 (typeof (Blog) ) 。SqlQuery (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ToString() |
返回 String 基础查询的表示形式。 (继承自 DbQuery) |
显式接口实现
IDbAsyncEnumerable.GetAsyncEnumerator() |
返回一个 , IDbAsyncEnumerator 枚举时将针对数据库执行查询。 (继承自 DbQuery) |
IEnumerable.GetEnumerator() |
返回一个 , IEnumerator 枚举时将针对数据库执行查询。 (继承自 DbQuery) |
IListSource.ContainsListCollection |
返回 |
IListSource.GetList() |
引发一个异常,该异常指示不支持直接绑定到存储查询。 改为使用数据填充 DbSet(例如,使用 Load 扩展方法),然后绑定到本地数据。 对于 WPF,绑定到 DbSet.Local。 对于 Windows 窗体,则绑定到 DbSet.Local.ToBindingList()。 (继承自 DbQuery) |
IQueryable.Expression |
IQueryable LINQ 表达式。 (继承自 DbQuery) |
IQueryable.Provider |
IQueryable 提供程序。 (继承自 DbQuery) |