码迷,mamicode.com
首页 > 数据库 > 详细

EF Entity Framework Core DBContext中文文档

时间:2019-10-19 12:51:28      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:type   实体类   ack   rabl   重写   soft   wait   serve   基本实现   

Add(Object)
以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
使用State设置单个实体的状态。

Add<TEntity>(TEntity)

以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
使用State设置单个实体的状态。

AddAsync(Object, CancellationToken)

以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
使用State设置单个实体的状态。
这个方法是异步的,只允许特殊的值生成器,如‘Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy ‘使用的那个。来异步访问数据库。对于所有其他情况,应该使用非异步方法。

AddAsync<TEntity>(TEntity, CancellationToken)

以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
这个方法是异步的,只允许特殊的值生成器,如‘Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy ‘使用的那个。来异步访问数据库。对于所有其他情况,应该使用非异步方法。

AddRange(IEnumerable<Object>)
以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库

AddRange(Object[])
以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。

AddRangeAsync(Object[])
以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
这个方法是异步的,只允许特殊的值生成器,如‘Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy ‘使用的那个。来异步访问数据库。对于所有其他情况,应该使用非异步方法。

AddRangeAsync(IEnumerable<Object>, CancellationToken)
以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库。
这个方法是异步的,只允许特殊的值生成器,如‘Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy ‘使用的那个。来异步访问数据库。对于所有其他情况,应该使用非异步方法。

Attach(Object)
默认情况下,使用未更改的状态开始跟踪给定的实体和可从给定实体访问的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在未更改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保只插入新实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集始终保持不变。
使用State设置单个实体的状态。

Attach<TEntity>(TEntity)
默认情况下,使用未更改的状态开始跟踪给定的实体和可从给定实体访问的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在未更改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保只插入新实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集始终保持不变。

AttachRange(IEnumerable<Object>)
默认情况下,使用未更改的状态开始跟踪给定实体和可从给定实体获得的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在未更改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保只插入新实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集始终保持不变。
使用State设置单个实体的状态。

AttachRange(Object[])
默认情况下,使用未更改的状态开始跟踪给定实体和可从给定实体获得的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在未更改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保只插入新实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集始终保持不变。
使用State设置单个实体的状态。

Dispose()
释放为此context分配的资源。

DisposeAsync()
释放为此context分配的资源。

Entry(Object)
获取给定实体的EntityEntry。条目提供了对实体更改跟踪信息和操作的访问。
可以在未跟踪的实体上调用此方法。然后可以在返回的条目上设置State属性,让context开始跟踪指定状态下的实体。

Entry<TEntity>(TEntity)
获取给定实体的EntityEntry<TEntity>。条目提供了对实体更改跟踪信息和操作的访问

Equals(Object)
确定指定的对象是否等于当前对象。

Find(Type, Object[])
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

Find<TEntity>(Object[])
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

FindAsync(Type, Object[])
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

FindAsync(Type, Object[], CancellationToken)
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

FindAsync<TEntity>(Object[])
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

FindAsync<TEntity>(Object[], CancellationToken)
查找具有给定主键值的实体。如果context正在跟踪具有给定主键值的实体,则立即返回该实体,而不向数据库发出请求。否则,将向数据库查询具有给定主键值的实体,如果找到该实体,则将其附加到context并返回。如果没有找到任何实体,则返回null。

GetHashCode()
作为默认的哈希函数。

OnConfiguring(DbContextOptionsBuilder)
重写此方法以配置用于此context的数据库(和其他选项)。对于创建的每个context实例,都将调用此方法。基本实现什么也不做。
在DbContextOptions实例可能传递给构造函数也可能没有传递给构造函数的情况下,可以使用IsConfigured来确定是否已经设置了选项,并跳过onconfiguration (DbContextOptionsBuilder)中的部分或全部逻辑。

OnModelCreating(ModelBuilder)
重写此方法,以进一步配置根据约定从派生context中DbSet<TEntity>属性中公开的实体类型发现的模型。结果模型可能被缓存,并被派生context的后续实例重用。
Query<TQuery>()
创建一个DbSet<TEntity>,可用于查询TQuery的实例。

Remove(Object)
开始跟踪处于已删除状态的给定实体,以便在调用SaveChanges()时将其从数据库中删除。

Remove<TEntity>(TEntity)
开始跟踪处于已删除状态的给定实体,以便在调用SaveChanges()时将其从数据库中删除。

RemoveRange(Object[])
开始跟踪处于已删除状态的给定实体,以便在调用SaveChanges()时将其从数据库中删除。

RemoveRange(IEnumerable<Object>)
Begins tracking the given entity in the Deleted state such that it will be removed from the database when SaveChanges() is called.

SaveChanges(Boolean)
将在此context中所做的所有更改保存到数据库。
此方法将自动调用DetectChanges(),以便在保存到底层数据库之前发现对实体实例的任何更改。这可以通过AutoDetectChangesEnabled来禁用。

SaveChanges()
将在此context中所做的所有更改保存到数据库。
此方法将自动调用DetectChanges(),以便在保存到底层数据库之前发现对实体实例的任何更改。这可以通过AutoDetectChangesEnabled来禁用。

SaveChangesAsync(CancellationToken)
将在此context中所做的所有更改保存到数据库。
此方法将自动调用DetectChanges(),以便在保存到底层数据库之前发现对实体实例的任何更改。这可以通过AutoDetectChangesEnabled来禁用。
不支持同一context实例上的多个活动操作。使用‘await‘确保在此context中调用另一个方法之前完成所有异步操作。

SaveChangesAsync(Boolean, CancellationToken)
将在此context中所做的所有更改保存到数据库。
此方法将自动调用DetectChanges(),以便在保存到底层数据库之前发现对实体实例的任何更改。这可以通过AutoDetectChangesEnabled来禁用。
不支持同一context实例上的多个活动操作。使用‘await‘确保在此context中调用另一个方法之前完成所有异步操作。

Set<TEntity>()
创建一个DbSet<TEntity>,可用于查询和保存TEntity实例。

ToString()
返回表示当前对象的字符串。

Update(Object)
默认情况下,使用修改后的状态开始跟踪给定的实体和可从给定实体访问的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在修改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保插入新实体,同时更新现有实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集总是被修改。
使用State设置单个实体的状态。

Update<TEntity>(TEntity)
默认情况下,使用修改后的状态开始跟踪给定实体和可从给定实体访问的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在修改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保插入新实体,同时更新现有实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集总是被修改。
使用State设置单个实体的状态。

UpdateRange(Object[])

UpdateRange(IEnumerable<Object>)
默认情况下,使用修改后的状态开始跟踪给定实体和可从给定实体访问的条目,但是当使用不同的状态时,请参阅下面的情况。
通常,在调用SaveChanges()之前不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找context尚未跟踪的可访问实体。找到的所有实体都将由context跟踪。
对于具有生成的键的实体类型,如果一个实体设置了其主键值,那么将在修改状态下跟踪它。如果未设置主键值,则将以添加状态跟踪它。这有助于确保插入新实体,同时更新现有实体。如果将主键属性设置为属性类型的CLR默认值以外的任何值,则认为实体的主键值已设置。
对于没有生成键的实体类型,状态集总是被修改。
使用State设置单个实体的状态。

EF Entity Framework Core DBContext中文文档

标签:type   实体类   ack   rabl   重写   soft   wait   serve   基本实现   

原文地址:https://www.cnblogs.com/snow-zhang/p/11703288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!