Entity Framework
文章平均质量分 93
Entity Framework
goyeer(工蚁)
生活在城市中的蚂蚁
展开
-
【Entity Framework】如何理解EF中的级联删除
语言集成查询 (LINQ) 包含许多用于组合多个数据源或执行复杂处理的复杂运算符。 并非所有 LINQ 运算符都会在服务器端进行适当转换。 有时,采用一种形式的查询会转换为服务器,但如果采用另一种形式,即使结果相同,也不会转换。本文将介绍部分复杂运算符及其支持的变体。原创 2024-05-17 07:55:50 · 1173 阅读 · 19 评论 -
【Entity Framework】聊聊单个查询与拆分查询
在针对关系数据库工作时,EF通过将JOIN引入单个查询来加载相关实体。虽然使用SQL时,JOIN是相当标准的,但如果使用不当,可能会引发严重的性能问题。本文将介绍这些性能,并展示了一种可充当临时解决办法的用于加载相关实体的替代方法。原创 2024-05-17 07:53:32 · 839 阅读 · 7 评论 -
【Entity Framework】聊聊EF中复杂查询运算符
语言集成查询 (LINQ) 包含许多用于组合多个数据源或执行复杂处理的复杂运算符。并非所有 LINQ 运算符都会在服务器端进行适当转换。有时,采用一种形式的查询会转换为服务器,但如果采用另一种形式,即使结果相同,也不会转换。本文将介绍部分复杂运算符及其支持的变体。以上模式在表达式树中创建复杂的结构。因此,EF Core要求在紧随运算符的步骤中将GroupJoin运算符的分组结果平展。即使使用,但采用其他的模式,也不能将其标识为Left Join。原创 2024-05-16 07:42:25 · 1297 阅读 · 2 评论 -
【Entity Framework】EF中SaveChanges如何使用
虽然查询允许从数据库中读取数据,但保存数据意味着向数据库添加新实体,删除实体或以某种方法修改现有实体的属性。支持将数据保存到数据库。原创 2024-05-16 07:40:35 · 1096 阅读 · 0 评论 -
【Entity Framework】聊一聊EF如何使用数据库函数
内置函数是数据库中预定义的,而用户定义的函数是由数据库用户显式定义的。EF Core将查询转换为使用数据库函数时,它使用内置函数来确保该函数在数据库中始终可用。在某些数据库中,需要了解内置函数的特征,才能正确生成SQL。例如SqlServer要求使用架构限定的名称调用各个用户定义的函数。但SqlServer中的内置函数没有架构。PostgreSQL使用public架构定义内置函数,但可使用架构限定的名称调用它们。除了 EF Core 提供程序提供的映射以外,用户还可以定义自定义映射。原创 2024-04-21 22:09:55 · 1678 阅读 · 40 评论 -
【Entity Framework】你必须了解的之自定义SQL查询
通过 Entity Framework Core 可以在使用关系数据库时下降到 SQL 查询。如果所需查询无法使用 LINQ 表示,或者 LINQ 查询导致 EF 生成效率低下的 SQL,则可使用 SQL 查询。SQL 查询可返回一般实体类型或者模型中的无键实体类型。SQL 查询必须返回实体类型的所有属性的数据。结果集中的列名必须与属性映射到的列名称匹配。请注意,此行为与 EF6 不同;EF6 忽略了 SQL 查询的属性-列映射,只需结果集列名与这些属性名相匹配即可。SQL 查询不能包含关联数据。原创 2024-04-19 21:17:15 · 1303 阅读 · 12 评论 -
【Entity Framework】闲话EF中批量配置
当需要在多个实体类型中以相同方式配置一个方面时,可以通过以下方式减少代码重复并合并逻辑。原创 2024-04-19 21:11:24 · 922 阅读 · 6 评论 -
【Entity Framework】你知道如何处理无键实体吗
除了常规实体类型外,EF Core模型还可以包含无键实体类型,可用于对不包含键值的数据执行数据库查询。set;set;set;set;set;set;set;set;set;set;无键主要应用在SQL、视图、存储过程的查询,在制作报表时,应用比较多。原创 2024-04-16 21:59:35 · 980 阅读 · 29 评论 -
【Entity Framework】你必须要了解EF中数据查询之数据加载
允许在模型中使用导航属性来加载关联实体。有三种常见的O/RM模式可用于加载关联数据。预先加载表示从数据库中加载关联数据,作为初始查询的一部分;显示加载表示稍后从数据库中显示加载关联数据;延迟加载表示在访问导航属性时,从数据库中以透明方式加载关联数据;原创 2024-04-16 21:54:26 · 1346 阅读 · 8 评论 -
【Entity Framework】你要知道EF中功能序列与值转换
EF Core含有许多预定义转换,不需要手动编写转换函数。而是根据模型中的属性类型和请求的数据库提供程序类型选取要使用的转换。如:下面的示例中使用了从枚举到字符串的转换,但当提供程序类型配置为string时,EF Core实际上会使用可通过显式地指定数据库列类型实现相同的操作。数据注释set;set;然后,枚举值会被保存为数据库中的字符串,原创 2024-04-15 21:49:18 · 1110 阅读 · 28 评论 -
【Entity Framework】聊一聊EF中继承关系
可以将.NET类型层次结构映射到数据库。这允许你像普通编程一样使用基类型和派生类型在代码中编写.NET实体,并让无缝创建适应的数据库架构,发出查询等。有关如何映射类型层次结构的实际细节取决于提供程序;本博文将介绍关系数据库上下文中的继承支持。TPH 通常适用于大多数应用程序,并且对于各种方案而言都是一个很好的默认值,因此,如果不需要 TPC,请不要添加 TPC 来增加复杂性。具体而言,如果代码主要查询许多类型的实体,例如针对基类型编写查询,则倾向于使用 TPH,而不是 TPC。原创 2024-04-15 21:46:34 · 1347 阅读 · 12 评论 -
【Entity Framework】如何使用EF中的生成值
数据库列的值可以通过多种方式生成:主键列通常是自动递增的整数,其他列具有默认值或计算值等。本文详细介绍使用EF Core配置值生成的各种模式。提供多种在应用端生成值的能力。在实际开发中,需要考虑在数据库层还是在应用层完成这些值的自动匹配和完成值的生成。原创 2024-04-11 21:56:13 · 1803 阅读 · 42 评论 -
【Entity Framework】聊聊EF中键
键用作每个实体实例的唯一标识符。EF中的大多数实体都有一个键,该键映射到关系数据库中主键的概念(对于没有键的实体,后面会讲解无键实体)。实体可以有出了主键之外的其他键。原创 2024-04-10 22:15:09 · 1166 阅读 · 40 评论 -
【Entity Framework】EF连接字符串和模型
本文将介绍如何使用数据库连接及如何更改数据库连接。使用Code First和EF设计器创建的模型在本文中都会说明。通常,实体框架应用程序使用派生自DbContext的类。此派生类将调用基础DbContext上下文如何连接到数据库 - 即如何找到/使用连接字符串。上下文是使用 Code First 计算模型还是加载使用 EF 设计器创建的模型、DbContext 类包含其他构造函数和使用模式,可以实现一些更高级的方案。原创 2024-04-08 20:52:08 · 1456 阅读 · 31 评论 -
【Entity Framework】EF配置文件设置详解
EF实体框架允许在配置文件中指定多个设置。一般来说,EF遵循"约定优于配置"的原则;从EF6开始,引入代码配置,在【Entity Framework】EF配置之代码配置详解一文详解介绍,代码配置提供了一种代码应用配置的重要的方式。仍然可以从代码应用配置,但需要使用各种 API 来配置不同的区域。借助配置文件选项可在部署期间轻松更改这些设置,而无需更新代码。原创 2024-04-07 21:17:38 · 1332 阅读 · 45 评论 -
【Entity Framework】EF配置之代码配置详解
可以在配置文件(app.config/web.config)中指定实体框架应用程序的配置,也可以通过代码进行指定。后者称为基于代码的配置。本博文将介绍配置文件中的配置。配置文件优于基于代码的配置。换而言之,如果在代码和配置文件中都有配置选择,则使用配置文件中的配置。博文讨论仅限于EF6及更高的版本,此页面中讨论的功能,API等已引入实体框架6。如果使用的是早期版本,则部分或全部信息不适用。你还可以添加其他依赖关系处理程序来获得相同的效果。请注意,你也可以通过这种方式包装。原创 2024-04-05 21:28:15 · 1530 阅读 · 50 评论 -
【Entity Framework】EF日志-简单日志记录
Entity Framework Core (EF Core)包含一些用于生成日志,响应事件和获取诊断结果的机制。其中每种机制都针对不同情况进行了定制,务必针对手头上的任务选择最佳机制,即使是多个机制都适用也是如此。本文将介绍EF日志每种机制,及其描述每种机制应用场景。原创 2024-04-03 07:46:10 · 1268 阅读 · 47 评论 -
【Entity Framework】EF中的增删改查
是一个O/R Mapping的实例框架,前面的博文介绍了的知识体系,本文将介绍EF基本使用,Entity Framework操作数据库,完成基本的增删改查。原创 2024-04-01 20:45:35 · 2525 阅读 · 51 评论 -
【Entity Framework】创建并配置模型
EF Core使用元数据模型来描述如何将应用程序的实体类型映射到基础数据库。此模型是使用一组约定构建的,这些约定是寻找常用模式的启发式方法。然后,可以使用映射特性自定义模型和在中调用方法(也称为Fluent API),这两者都将替代约定执行的配置。大多数配置可以应用于面向任何数据存储的模型。提供程序还可以启用特定于特定数据存储的配置,也可以忽略不支持或不适合的配置。原创 2024-03-31 21:10:32 · 1278 阅读 · 39 评论 -
【Entity Framework】EF中DbSet类详解
DbSet可用于查询和保存的TEntity实例。针对的DbSet LINQ查询将转换为针对数据库的查询。可能不会反映上下文中尚未保存到数据库的更改。如:结果将不包含新添加的实体,并且可能扔包含标记为要删除的实体。根据所使用的数据库,针对DbSet的LINQ查询的某些部分可能在内存中求值,而不是转换为数据库查询。DbSet对象通常从DbSet派生DbContext的或方法Set()上的属性获取。Entity Framework Core不支持在同一DbContext实例上运行多个并行操作。原创 2024-03-30 19:00:07 · 2616 阅读 · 46 评论 -
【Entity Framework】EF中实体属性
模型中的每个实体类型都有一组属性,EF Core将从数据库中读取和写入这些属性。如果使用的是关系数据库,实体属性将映射到表列。原创 2024-03-28 21:14:24 · 1337 阅读 · 50 评论 -
【Entity Framework】Code First 数据批注
利用实体框架Code First,可以使用自己的域类来表示EF执行查询,更改跟踪和更新功能所依赖的模型。Code First利用称为“约定优于配置”的编程模式。Code First将假设你的类遵循实体框架的约定,在这种情况下,将自动确定如何执行其工作。如果需要你的类不遵循这些约定,可以向类添加配置以向EF提供必要的信息。Code First 提供了两种将这些配置添加到类的方法。一种方法是使用称为 DataAnnotations 的简单属性。原创 2024-03-26 21:39:46 · 720 阅读 · 11 评论 -
【Entity Framework】 EF三种开发模式
前面博文已介绍了Entity Framework是什么,EF架构等基本知识介绍。本文将从介绍Entity Framework使用的三种方式。Entity Framework的底层其实是调用ADO.NET,它是更高层次的封装,作为数据访问的技术。Entity Framework设计的高扩展性,体现在灵活的映射定义。简单的说,使用Entity Framework可以充分定义与数据库表映射的实体,这个实体可以直接用于业务逻辑层或作为服务的数据契约。原创 2024-03-26 21:32:55 · 1391 阅读 · 14 评论