|
微软于2022年十一月连同.NET 7 公布了用于.NET 的对象到数据库映照器库 Entity Framework(EF)Core 7。新版本晋升了保留数据的机能,反对 JSON 列操作,反对高效的批量操作,并包孕许多小的修复和改进。EF7 Core 可用于.NET 7 和.NET 6。
微软于 2022 年 十一 月 8 日经过NuGet包的方式公布了 EF7。按照严重变卦文档所述,EF Core 7 中最首要的变动是默许将 SQL Server 衔接视为加密衔接。开发者要末必需在他们的机器上配置无效的证书,要末显式放松平安限度,不然的话在 EF6 中无效的衔接字符串在 EF7 中将会抛出异样。
家喻户晓,EF7 Core 的一个改进是在使用 SaveAsync 办法保留数据时的机能晋升。在某些状况下,与同一机器上的 EF6 Core 比拟,机能晋升超过50%。
EF7 Core 反对将数据库中包孕JSON文档的文本列作为查问对象。作为数据库查问的一部份,开发者能够对文档中的 JSON 属性进行过滤和排序。EF7 提供了对 JSON 列的通用反对和针对 SQL Server 的详细完成。
针对数据库的批量操作,例如批量更新或删除,EF7 对其进行了重写。规范的 SaveChangesAsync 办法会影响多笔记录,SQL 履行后果会被载入内存。EF7 当初有两个新办法,ExecuteUpdateAsync和ExecuteDeleteAsync,它们会当即在办事器端履行批量操作,不会将任何实体加载回内存。
默许状况下,EF Core 将.NET 类型的承继档次构造映照到单张数据库表,这类映照战略叫作每档次表(Table-per-Hierarchy,TPH)。EF Core 5 参加了每类型表(Table-per-Type,TPT)战略,档次构造中的每一个个类型都被映照到一张数据库表。EF Core 7参加了每详细类型表(Table-per-Concrete-Type,TPC)战略,每个非笼统类型映照到一张数据库表,而笼统类型列被添加到笼统类型的详细完成的表中。
EF7 还带来了其余改进,好比在数据库优先的反向工程中反对自定义T4模板,反对掩盖和更改默许模型商定,改进的阻拦器和事情,拔出曾经、更新和删除到存储进程的映照。
在过来,.NET 开发人员以为 Entity Framework 轻巧且缺陷多多,但当初的新版本被以为是一种高效且拥有容错才能的ORM框架。
跟着 EF7 的公布,EF8的线路图中减少了更多的 JSON 列加强,反对.NET 值对象,并可以将未映照的类型作为查问后果前往。
http://www.infoq.com/news/2022/十二/ef7-core-json/ |
|