技术归档文章随笔一句话导航搜索关于

Entity Framework 基础知识

日期: 2023-05-11 分组: .NET 标签: .NETEF Core面试 3分钟 433字

EF Core 是一个可扩展、开源和跨平台的 .NET 对象关系映射 (ORM) 工具,在数据库之上提供了抽象层。

核心优势:

跨数据库、简化数据访问、管理事务简单、代码优雅可读性更高、类型安全。

  1. 简化数据访问:使用 .NET 对象和 LINQ 与数据库进行交互,减少了编写 SQL 代码的需要。
  2. 跨数据库:通过**提供者(Provider)**模型支持多种数据库引擎,使应用程序更具可移植性。
  3. 并发处理:内建乐观并发控制,防止在多个用户同时尝试修改相同数据时发生数据丢失的情况。
  4. 事务管理:简化事务管理,自动处理数据操作的事务,也能提供更细粒度的控制选项。

不足:

额外开销大、默认跟踪查询,生成的 SQL 可能不如手写 SQL 执行效率高。

DbContext 不是线程安全的。

  1. 性能开销:生成的 SQL 可能不如手动编写和优化的 SQL 高效。
  2. 重复学习:对于复杂的查询、性能调优、利用数据库特性等,需要重复学习。
  3. 可能生成低效查询: 容易在不经意间写出导致低效数据库查询的代码,例如一次性加载过多不相关的数据。
  4. 修改数据:修改数据需要先查询再修改,有额外的开销。 简单场景下的开销: 对于非常简单的小型应用程序或少量数据操作,使用完整的 ORM(如 EF Core)可能会引入不必要的复杂性和启动开销,而使用微型 ORM 或直接 ADO.NET 可能更轻量高效。
人应当是有理想的.
文章目录