写点什么

Entity Framework 4.0 Beta 新特性

  • 2009-05-20
  • 本文字数:1007 字

    阅读完需:约 3 分钟

Entity Framework 4.0 Beta 1(又称 EF V2)与.NET 4.0 Beta 1 一起发布,包含了一系列的重要改进:自定义代码生成、延迟加载、N 层支持、POCO 支持、DDL 生成、自定义查询等等。

EF4.0 引入的重要改进如下:

  1. 自定义代码生成——集成到 ADO.NET Entity Framework 设计器和 Visual Studio 中的 T4 模版让开发者可控制代码生成
  2. 一些小特性让应用程序的开发更加简单——在模型中的复数形式和单数形式、延迟加载、更多的存储过程映射使得用 Entity Framework 建立应用程序更加容易
  3. 自定义查询——对已有的 LINQ 操作符、用 LINQ 识别更大量的模式集合、在 LINQ 中可编写模型来定义函数以及一系列的其他方法来创建和自定义查询
  4. 生成 SQL 语句的可读性改善——提高所生成的查询语句的可读性并优化 TSQL 性能可使得它更易于理解

以下是 EF 4.0 已有特性改进的详细说明:

N 层开发

N 层开发的一个重要方面是在服务器和客户端之间进行 Entity 状态交换。Diego Vega,ADO.NET Entity Framework 编程经理,进一步详细描述到

实际上你需要的是:

  1. 从断开的图中推断出需要应用什么样的状态改变。
  2. 把那些改变传递给持久化层。

为了帮助程序员实现以上需求,EF 4.0 包含下列 API 调用:

  • ObjectContext.ApplyOriginalValues
  • ObjectStateManager.ChangeObjectState
  • ObjectStateManager.ChangeRelationshipsState

除了底层的 API 以外,EF 还包含自跟踪实体

自跟踪实体知道如何做自身的修改跟踪,而不管那些修改是在那一层发生的。作为一位架构师,自跟踪实体介于 DTO 和 DataSet 之间,包含了两者的长处。

ADO.NET 小组会提供 T4 模版(没有包含在 Beta 中)来生成 ObjectContext 的类和扩展方法。

模型优先

Visual Studio 2010 可以生成 DDL 并创建数据库来存储实体数据模型。开发人员可完全控制整个流程来自定义DDL、选择所需的数据库或者最终映射过程。

延迟加载

在EF 4.0 中,关于实体的延迟加载可以通过设置ContextOptions.DeferredLoadingEnabled 属性为true 来实现。延迟加载能够同代码生成的实体以及POCO 一起工作。默认情况下延迟加载是关闭的,但这个属性可以自定义修改。

POCO 支持

在.NET 3.5 中,EF 对象需要继承 EntityObject 或实现以下的一个接口: IEntityWithKey、IEntityWithChangeTracker 和 IEntityWithRelationships。那会引入领域模型对持久层的高度关注。所有这些约束在 EF 4.0 中都被移除,并允许完全透明的持久性。

查看英文原文: What’s New in Entity Framework 4.0 Beta?

2009-05-20 21:143562
用户头像

发布了 87 篇内容, 共 25.4 次阅读, 收获喜欢 1 次。

关注

评论

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

小课堂|RSA加密数据太长报错解决

孟君的编程札记

Java rsa RSA密码

物流自动化:趋势和机遇

世开 Coding

自动化 物流行业

5大理由告诉你,为什么选择华为云桌面

与时俱进的时代

数据库原理及MySQL应用 | 数据表操作

TiAmo

:MySQL 数据库 数据库· 12月月更

阿里云IoT物联网实例讲解——实践类

阿里云AIoT

阿里云 物联网平台 IoT 设备管理

这么硬核的教程绝对不能错过!无水印下载ins视频保存到手机相册!

frank

ins ins视频和图片

新年送礼选贾斯特里尼&布鲁克斯葡萄酒,高端大气有面子

联营汇聚

由浅入深剖析JDK源码!美团大牛手撸并发原理笔记真香

Java永远的神

程序员 并发编程 后端 jdk源码 架构师

微信业务架构图

lory(侯保国)

卓越实力备受认可 HashData再获权威大奖

酷克数据HashData

金融科技 数据库·

学习下Redis内存模型

京东科技开发者

Java 前端 内存 数据存储 内部编码

TCP-SYN超时重传问题排查

Kevin Wu

高并发 网关 TCP协议

严选精品葡萄,酿造百年贾斯特里尼&布鲁克斯葡萄酒

联营汇聚

物联网设备端的传感器数据如何实时上报到云平台——实践类

阿里云AIoT

安全 物联网 物联网安全 技术标签

【世界杯黑技术专题】「原理探索专题」一文解读一下“卡塔尔世界杯”的先进技术之半自动越位技术SAOT+比赛用球Al Rihla

码界西柚

12月日更 世界杯 世界杯黑科技

物联网平台从设备端到云端业务系统全链路开发实战——实践类

阿里云AIoT

sql 监控 物联网 存储 消息中间件

贾斯特里尼&布鲁克斯葡萄酒,来自法国的专属浪漫

联营汇聚

职场新人有没有潜力,看这一个能力就够了!

图灵教育

数据分析 图表 可视化数据

程序员是“短命”职业吗?年龄大了是不是没前途?

千锋IT教育

学生系统架构图

lory(侯保国)

数据库上云已成趋势,华为云数据库与传统数据库对比解析

与时俱进的时代

协同高效运转,华为云桌面助力企业数字化转型!

科技说

如何优雅的写 css 代码

京东科技开发者

CSS 前端 代码 优化 精简

华为云桌面,如何助力企业云上轻松办公

科技怪授

云桌面

钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花

阿里巴巴终端技术

android 钉钉 anr

如何区分位图和矢量图格式?怎样一键把位图转换成矢量图?

互联网民工阿强

AI 位图 图片处理 矢量图 格式转换

职场新人有没有潜力,看这一个能力就够了!

图灵社区

数据分析 图表 可视化数据

架构实战营第十期模块三作业

刘博

全网最全 java 进制转换详解

千锋IT教育

现在即未来,华为云桌面引领桌面变革新潮

科技说

运维自动化之监控平台

大V

DevOps 运维自动化 监控报警

Entity Framework 4.0 Beta新特性_.NET_Abel Avram_InfoQ精选文章