.NET Learning Notes: EFCore(Entity Framework)

.NET Learning Notes: EFCore(Entity Framework)

💡 原文中文,约17700字,阅读约需43分钟。
📝

内容提要

本文介绍了SQL的基本概念,包括数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。重点讨论了SQL语句的书写规范、NULL值、JOIN与子查询的使用、GROUP BY的错误处理,以及ORM(对象关系映射)的概念和不同框架的比较。最后,探讨了EF Core的迁移、并发控制和表达式树的动态构建。

🎯

关键要点

  • SQL的基本概念包括数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。
  • DML用于查询和修改数据,DDL用于定义数据库对象的生命周期,DCL用于管理用户和对象的安全权限。
  • SQL语句的书写规范包括大写关键字、每个主要子句另起一行、列名分行列出等。
  • NULL值表示无值或未知,不等同于零或空字符串。
  • 使用JOIN时,嵌套查询只能返回外部查询的列,需注意GROUP BY的错误处理。
  • ORM(对象关系映射)允许开发者以对象的形式操作关系数据库,常见的ORM框架有EF Core、Dapper等。
  • EF Core是微软官方的ORM框架,功能强大但上手门槛高,Dapper则简单易用但生产效率较低。
  • EF Core支持多种数据库,开发环境搭建包括创建实体类、配置类和DbContext。
  • Migration用于数据库迁移,自动更新数据库表结构,支持多步迁移和回滚。
  • Fluent API和Data Annotation是配置实体类的两种方式,Fluent API更推荐。
  • EF Core支持多种主键生成策略,包括自增和Guid,使用时需考虑性能和空间占用。
  • 并发控制分为悲观和乐观两种,推荐使用乐观并发控制以避免性能问题。
  • 表达式树用于动态构建查询逻辑,支持在运行时访问逻辑运算的结构。
  • 动态构建表达式树的代码复杂,通常在编写通用框架时使用,日常开发中应尽量避免。
🏷️

标签

➡️

继续阅读