写点什么

Entity Framework 7 – 新的平台与数据存储系统

  • 2015-05-03
  • 本文字数:1092 字

    阅读完需:约 4 分钟

创建 Entity Framework 的本意是为了在完整版本的.NET 中操作关系型数据,而在 EF 7 中,以上两点假设都不再成立。

Entity Framework 7 的平台目标包括

  • 完整的.NET Framework
  • ASP.NET 5
  • Windows 10 通用应用平台 UAP
  • Mac
  • Linux

而在提供者方面,EF 7 的目标包括

  • 关系型数据库提供者:SQL Server、SQLite 和 Postgres
  • Azure Table Storage
  • Redis
  • 内存数据库提供者(用于测试目的)

EF 7 的顶层体验与 EF 6 是相同的,你仍然要与 DbContext、DbSet 等对象打交道。但内部的核心代码都进行了重写,这意味着元数据、变更跟踪和查询管道等部分都完全不同了,但对于多数应用场景来说,开发者是不会注意到这些变化的。

核心的变化是出于一系列原因的考虑,其中一个原因在于现有的架构非常难以改动,即使一些很基础的需求,例如加入一个日志框架作为插件都显得异常艰难。经过重写核心代码之后,那些令人困惑的 API 和行为都被彻底删除了。

EF 在内存占用和速度上一直为人所诟病,而这次重写的一个重点就是应对这些问题。这一改动的重要性体现在非常广泛的平台上,小型的移动设备的电池寿命非常有限,而多种云服务器则会按照 CPU 的使用率进行收费。

日志记录

Entity Framework 中的日志记录功能是源于 Microsoft.Owin.Logging 命名空间中的 ILogger 接口的实现。微软希望这个接口能够成为让所有的.NET 日志记录框架都支持的标准接口。

SQL 生成方面的改进

在 EF 7 中,新增与修改操作会得到小幅度的改善。举例来说,如果你打算对某张表中的四个产品应用某种折扣,在使用 EF 6 时,会产生共 1+N 次数据库访问:一次访问用于加载数据,然后对每一行都要进行一次访问。而在 EF 7 中,保存操作将成为批量操作,因此只需对数据库进行两次访问。

比起使用原生 SQL 的一次访问来说,这种方式依然较慢,但这种方式的优点在于能够用于非关系型数据库。

混合 SQL 与 LINQ

EF 7 支持在 LINQ 表达式中使用 FromSql 方法混合 SQL 语句,这样你就能够访问某些 EF 通常无法使用的对象,例如表值函数或是应用了索引提示的表。

context.FromSql(“SELECT * FROM Customer (WITH (IX_Index)”).OrderBy(c => c.Name)

这种方式能够生成正确的 SQL,对数据库执行 order by 和 where 语句。

EF 与移动设备

正如上文所说,EF 7 的目标之一是不限于仅仅使用在桌面应用中。其中的一个用例是离线的移动设备,其目标是你可以在移动设备上使用相同的代码以操作本地缓存及数据,然后将这些数据应用到服务器上。

要了解 Entity Framework 7 的更多信息,请观看 Channel 9 的视频“ Entity Framework 7: Data for Web, Phone, Store, and Desktop ”。

查看英文原文: Entity Framework 7: New Platforms and New Data Stores

2015-05-03 05:314398
用户头像

发布了 428 篇内容, 共 177.4 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析

数新网络官方账号

sql

好用的延迟摄影后期渲染工具 LRTimelapse Pro 7详细功能介绍

Rose

3D渲染和动画制作 Luxion KeyShot2023下载+Luxion KeyShot2023破解教程

Rose

Autodesk AutoCAD 2024 Mac(cad2024)v2024.3中文激活版

iMac小白

PPSSPPSDL for mac(PSP游戏模拟器)附PSP游戏安装包 v1.17.1激活版

Rose

Axure RP 10 for Mac中文汉化版 附Axure RP 10 永久激活码

Rose

Photoshop 2025 for mac(ps 2025图像编辑处理软件)v26.0中文激活版

iMac小白

外贸货币汇率转换解决方案

幂简集成

API 货币兑换API

一文彻底弄懂JUC工具包的CountDownLatch的设计理念与底层原理

不在线第一只蜗牛

Java 算法

2024年Java后端开发最全面试攻略,不管你工作几年,都得看看

采菊东篱下

java面试

Studio One 6 Pro for mac专业的音乐创作编辑软件

Mac相关知识分享

Markdown 文本编辑器Typora for Mac中文版

Mac相关知识分享

Royal TSX for Mac桌面管理软件远程管理

Mac相关知识分享

BOM是什么?怎么创建BOM?BOM有什么分类?

积木链小链

ERP BOM ERP软件

macOS免费好用的硬盘测速工具 Blackmagic Disk Speed Test

Rose

怎么在ppt中替换字体?分享3个ppt必备的使用技巧!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

SMART Utility for mac功能强大的磁盘诊断工具

Mac相关知识分享

SmartSVN 11 Mac破解版 SVN客户端Mac软件安装

Rose

易于使用的多连接数据库管理工具 Navicat Premium 16 Mac中文包

Rose

Downie 4 for Mac(视频下载工具)v4.8.4中文版

iMac小白

Hive on Spark实战:深入理解与配置Spark集群

敏捷调度TASKCTL

scala MySQL hadoop hive jdk

大数据行业怎么定义?是否需要堡垒机?

行云管家

大数据 堡垒机 大数据行业

OpenAI 再发 Sora 新短片,传 Sora 两周内推出;李飞飞团队出品空间智能版 ImageNet丨 RTE 开发者日报

声网

Maxon Cinema 4D R25中文破解版(c4d安装教程)-Mac&win

Rose

日照等保测评机构有哪些?电话多少?

行云管家

等保 堡垒机 日照

Alfred 5 for Mac(苹果效率提升工具)

Mac相关知识分享

Qualcomm's IPQ53XX Series: IPQ5300, IPQ5332, IPQ5322 Comprehensive Analysis

wifi6-yiyi

WiFi7

企业在财务规划过程中,如何避免零基预算的常见陷阱

智达方通

零基预算 财务规划

苹果电脑鼠标键盘捕捉工具 Macro Recorder Enterprise for mac

Rose

电池保养管理及续航提升工具 Endurance Mac破解版

Rose

Microsoft Office LTSC 2021 for Mac(office全家桶)v16.90正式激活版

iMac小白

Entity Framework 7 – 新的平台与数据存储系统_.NET_Jonathan Allen_InfoQ精选文章