2、深入了解 Entity Framework Core:功能、应用与局限

深入了解 Entity Framework Core:功能、应用与局限

1. 什么是对象关系映射器(ORM)

在数据库领域,关系型数据库占据主导地位;而在编程世界里,一切围绕对象展开。这两个世界在语义和语法上存在显著差异,被称为阻抗不匹配。对象关系映射器(ORM)应运而生,它可以将面向对象世界的概念(如类、属性、类之间的关系)转换为关系世界的对应结构(如表、列和外键)。

例如,在对象模型中,你可以通过一组相互关联的对象来映射对象之间的 N:M 关系;但在关系数据库中,你需要一个中间表。此外,关系数据库不支持继承,不过有不同的复制方式。

ORM 工具可以让开发者留在面向对象的世界中,指示 OR 映射器加载或存储关系数据库表中以记录形式存在的特定对象。像手动创建 INSERT、UPDATE 和 DELETE 语句等繁琐且易出错的任务也由 OR 映射器处理,从而减轻了开发者的负担。

2. .NET 世界中的 OR 映射器

当 .NET 开发者使用 DataReader 或 DataSet 从数据库中读取数据时,此时并没有进行对象关系映射。因为 DataReader 和 DataSet 只是管理表结构的 .NET 对象,从对象模型的角度来看,它们是无类型、非特定的容器。只有当开发者为表中存储的结构定义特定类,并将 DataSet 或 DataReader 中的内容复制到这些特定数据结构中时,才进行了 OR 映射。这种“手动”的对象关系映射对于读取访问来说是耗时、乏味且单调的编程工作,尤其是对于非常宽的表。

在 .NET 世界中,曾经微软在很长一段时间内未能推出合适的 OR 映射产品。.NET 1.0 版本没有包含 OR 映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值