asp.net EF core 系列 作者:懒懒的程序员一枚

asp.net core 系列 19 EFCore介绍

写作逻辑

一 、概述

1.1 比较EF Core 和EF6

1.2 EF Core数据库提供程序

1.3 引用程序添加数据库提供程序

1.4 获取Entity Framework Core 工具

asp.net core 系列 20 EF基于数据模型创建数据库

一、概述

1.1 创建新项目

1.2 安装Entity Framework Core

1.3 创建模型

1.4 使用依赖注入注册上下文

1.5 创建数据库

1.6 创建控制器

1.7 创建视图

asp.net core 系列 21 EF现有数据库进行反向工程

一 概述

1.1 创建新项目

1.2 安装Entity Framework Core

1.3 对模型实施反向工程

1.4 通过依赖关系注入注册上下文

1.5 创建控制器和视图

asp.net core 系列 22 EF(连接字符串,连接复原,DbContext)

一、连接字符串

二、连接复原

2.1 执行策略和事务

三、配置DbContext介绍

asp.net core系列 23 EF模型配置(概述, 类型和属性的包含与排除)

一、模型配置概述

1.1 使用fluent API配置模型

1.2 使用数据注释来配置模型

二、类型的包含和排除约定

2.1 类型包含约定

2.2 类型排除约定

三、属性的包含和排除约定

3.1 数据注释

3.2 Fluent API

asp.net core系列 24 EF模型配置(主键,生成值,最大长度,并发标记)

一、主键

二、生成的值

三、最大长度

四、并发长度

4.1 并发控制在EF Core 中的工作原理

asp.net core系列 25 EF模型配置(隐藏属性)

一、隐藏属性概述

1.1 配置隐藏属性

1.2 设置隐藏属性值

1.3 读取blog表数据

asp.net core系列 26 EF模型配置(实体关系)

一、概述

二、约定

2.1 完全定义的关系

2.2 没有外键属性

2.3 单一导航属性

三、数据注释

四、Fluent API

4.1 完全定义的关系

4.2 单一导航属性

4.3 外键

asp.net core系列 27 EF模型配置(索引,备用键,继承)

一、索引

1.1 非唯一索引

1.2 唯一索引

1.3 复合索引

二、备用键

2.1 约定

2.2 Fluent API

三、 继承

3.1 约定

3.2 Fluent API

3.3 discriminator隱藏屬性

asp.net core系列 28 EF模型配置(字段,构造函数,拥有实体类型)

一、支持字段

二、构造函数

2.1 带参的构造函数

2.2 注入服务

三、拥有的实体类型

3.1 显示配置

3.2 隐含键

3.3 拥有的集合类型

asp.net core系列 29 EF模型配置(查询类型,关系数据库建模)

一 查询类型

1.1 下面介绍下,查询类型与实体类型共同和不同点

1.2 查询类型使用方案(应用场景)

1.3 映射到数据库对象

1.4 案例

二、关系数据库建模

2.1 表映射,

2.2 列映射

2.3 数据类型

2.4 主键

2.5 默认架构

2.6 默认值

2.7 索引

asp.net core系列 30 EF管理数据库架构--必备知识 迁移

一、管理数据库架构概述

1.1 迁移概述

1.2 安装命令工具

二、命令演示

2.1 创建迁移

2.2 更新数据库

2.3 自定义迁移代码

2.4 删除迁移

2.5 还原迁移

2.6 生成sql脚本

2.7 在运行时应用迁移

asp.net core系列 31 EF管理数据库架构--必备知识 反向工程

一. 反向工程

1.1 Scaffold-DbContext介绍

二. 命令参数详解

2.1 必备参数

2.2 指定表和架构

2.3 保留名称

2.4 Fluent API 或数据注释

2.5 DbContext 名称

2.6 目录和命名空间

2.7 更新模型

三.演示

3.1 初始化反向工程

3.2 更新模型

四. 其它说明

4.1 反向工程工作原理

4.2 反向工程哪些不起作用

4.3 反向工程自定义模型

asp.net core系列 32 EF查询数据 必备知识(1)

一.查询的工作原理

1.1 查询的生命周期, 下面是每个查询所经历的过程概述:

1.2 执行查询时:

二.LINQ 查询

三. 客户端求值

3.1 可能的性能问题

3.2 为客户端评估抛出异常

四. 跟踪与非跟踪查询

4.1 跟踪查询

4.2 非跟踪查询

4.3跟踪和投影

asp.net core系列 33 EF查询数据 (2)

一. 原生SQL查询

1.1 基本的原始SQL查询

1.2 原生 SQL 查询可用于执行存储过程(GetMostPopularBlogs)

1.3 传递参数

1.4 使用 LINQ 编写

二. 异步查询

三. 全局查询筛选器

asp.net core系列 34 EF保存数据(1)

一. 基本数据

1.1 添加数据

1.2 更新数据

1.3 删除数据

1.4 单个 SaveChanges 中的多个操作

二.关联数据

1.1 添加关系数据

1.2 添加相关实体

1.3 更改关系

三.联级删除

3.1 实体删除示例

四. 事务

4.1 默认事务行为(隐式事务)

4.2 控制事务(显示事务)

4.3 跨上下文事务(仅限关系数据库)

asp.net core系列 35 EF保存数据(2) -- EF系列结束

一.事务

(1)共享事务

(2) 使用 System.Transactions (跨库事务)TransactionScope

二. 异步保存

三.不同上下文的实体状态判断

3.1标识新实体

(1)使用自动生成的键

(2) 使用其它键

3.2 保存单个实体

四. 设置SQL Server IDENTITY列中的显式值