EF Entity Framework Core DBContext中文文档

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设置单个实体的状态。

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

时间: 2024-10-11 01:36:45

EF Entity Framework Core DBContext中文文档的相关文章

[UWP小白日记-11]在UWP中使用Entity Framework Core(Entity Framework 7)操作SQLite数据库(一)

前言 本文中,您将创建一个通用应用程序(UWP),使用Entity Framework Core(Entity Framework 7)框架在SQLite数据库上执行基本的数据访问. 准备: Entity Framework Core(Entity Framework 7)下文将简称:EF 1.在UWP中使用EF需要更新Microsoft.NETCore.UniversalWindowsPlatform到大于“5.2.2”的版本. 2.直接在“程序包管理器控制台”输入命令来更新:Update-P

Entity Framework Core 文档

Entity Framework Core 文档:https://docs.microsoft.com/zh-cn/ef/#pivot=efcore&panel=efcore-all Entity Framework Core : https://docs.microsoft.com/zh-cn/ef/core/ Entity Framework Core tools:  https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/ EF

Core 中文文档

ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序 原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code作者:Daniel Roth.Steve Smith 以及 Rick Anderson翻译:赵志刚校对:何镇汐.刘怡(AlexLEWIS) 本节将展示如何在 macOS 平台上创建首个 ASP.N

.NET Core开源API网关 – Ocelot中文文档

原文:.NET Core开源API网关 – Ocelot中文文档 Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butterfly Tracing集成.这些功能只都只需要简单的配置即可完成,下面我们会对这些功能的配置一一进行说明. 介绍 简单的来说Ocelot是一堆的asp.net core middleware组成的一个管道.当它拿到请求之后会用一个reque

Django REST framework 中文文档

参考链接: https://www.cnblogs.com/liwenzhou/p/8543035.html Django REST framework介绍 现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势. 显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员, 我十分推荐Django REST framework(DRF)这个API框架. Django REST framework(DRF)框架文档齐全,社

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添加一个User类: namespace MyFirstApp.Models { public class User { public int ID { get; set; } public string Name { get; set; } public string Email { get; se

NET Core &amp; Entity Framework Core

本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1-1 手把手引进门 1-2 进阶 1-3 杂项 (相关理论知识) 第一篇含两个步骤. 1-1-1 ASP.NET Core & Entity Framework Core 后端(内核)含两篇 (第二篇链接) 1-1-2 ASP.NET MVC, Web API, EntityFramework &

Entity Framework Core 2.0 入门简介

不多说废话了, 直接切入正题. EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle. EFCore 2.0新的东西: 查询: EF.Functions.Like() Linq解释器的改进 全局过滤(按类型) 编译查询(Explicitly compiled query) GroupJoin的SQL优化. 映射: Type Configuration 配置 Owned Entities (替代EF6的复杂类型) Scalar UDF映

001 Entity Framework Core 2.x P1

001 Entity Framework Core 2.x P1 EF Core 概述: Entity Framework Core 简介 创建Model 与数据库交互 关系数据 在ASP.NET Core中的应用 EF Core 是什么? EF Core是微软官方开发的一款ORM框架. EFCore原理 EF Core 相对于其他ORM的优势在于可以大大的提高生产力,并且,由于是微软自己的产品,所以和.Net Core的结合也会非常的好,可以提供开发者的工作效率,但是相应的, EFCore 的