.Net Core 学习: Razor Pages -- EF Core简介

EF Core简介

Entity Framework Core(简称EF Core)是.NET应用程序的轻量级、可扩展、开源和跨平台的数据访问技术,用于简化数据库操作。 ‌

  • 对象关系映射(ORM):通过实体类操作数据库,无需手动编写大部分数据访问代码。
  • 支持多种数据库:包括SQLite、MySQL、PostgreSQL、Oracle和Microsoft SQL Server等

ORM框架核心功能

  • 对象-关系映射:将数据库表映射为 C# 实体类
  • 变更跟踪:自动跟踪实体状态变化
  • LINQ 支持:使用 LINQ 语法生成 SQL 查询
  • 数据库迁移:代码优先方式管理数据库架构
  • 事务管理:自动或手动事务控制

基础概念与术语

DbContext:

  • EF Core 的核心类,负责与数据库的交互
  • 包含 DbSet 属性,表示数据库中的表
  • 管理实体的生命周期和状态

实体 (Entity):

  • 映射到数据库表的 .NET
  • 通常是 POCO (Plain Old CLR Object)

DbSet:

  • 表示数据库中的表,类似于集合
  • 可通过 LINQ 查询数据

迁移 (Migrations):

  • 记录数据库结构变更的代码文件
  • 用于更新数据库架构

EF Core所需要的基础包(示例)

项目文件夹配置包引用 --> 在NeGet包管理器里添加(开发方式也以包的方式,所以开发时会引入各种各样的包)


数据库迁移实现代码

1、创建DBContext类:

2、注册上下文服务

①、编辑 Program.cs

②、编辑 appsettings.json

3、创建实体类

这 Gender 是一个枚举类

4、程序包管理器控制台 命令行

Add-Migration + 迁移名称 ---作用:启动迁移并生成迁移的代码

完成后会自动生成迁移的代码:

Update-database ---作用:把操作更新到数据库

数据库中就会生成对应的表结构:

相关推荐
凉、介15 分钟前
KVM + QEMU 虚拟化
笔记·学习·嵌入式·arm·qemu·虚拟化·kvm
承渊政道27 分钟前
【MySQL数据库学习】(MySQL访问、连接池原理与简易网站数据流动)
数据库·学习·mysql·mysql访问·连接池原理
LiaoWL12332 分钟前
【SpringBoot合集-03】Spring Boot 启动过程学习
java·spring boot·学习
Byron__10 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
试剂界的爱马仕11 小时前
Anti-mouse PD-1 mAb (Clone RMP1-14) 与 Axitinib 小鼠实验使用方案整理汇总
大数据·人工智能·深度学习·学习
Gp7HH6hrE12 小时前
OpenAI 与 Anthropic 开放公共学习平台
人工智能·学习·chatgpt
kaixin_learn_qt_ing12 小时前
2026.7.3---学习记录
学习
99乘法口诀万物皆可变13 小时前
PcanToVectorXL_V01:打通 Vector 与 PCAN 的双向 CAN/CAN‑FD 桥梁
c++·学习
MartinYeung513 小时前
[论文学习] CAMIA:下文感知成员推理攻击
人工智能·深度学习·学习
secondyoung14 小时前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm