AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:143354
用户头像

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

关注

评论

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

算法 | 使用栈计算表达式

甜点cc

Go 算法 10月月更

VLAN原理和配置,交换机创建vlan的多种方法、三种接口模式的作用和配置方法、Access、Trunk、Hybrid接口的特性以及配置方法和命令

Python-派大星

10月月更

AMD x 稀土掘金 1024码上掘金编程挑战赛来了!

猿始人

1024程序员节

武汉前端编程培训的就业前景怎么样

小谷哥

Linux---Linux中Ubuntu镜像之下搭建FTP服务

木偶

Linux ubuntu ftp 10月月更

ClickHouse 和 Elasticsearch 压测对比,谁才是yyds?

程序知音

小间距LED显示屏视频拼接器的技术要求

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

手把手教你成为荣耀开发者:帐号管理这样做

荣耀开发者服务平台

开发者 手机 安卓 荣耀 honor

交换机:广播风暴产生原因与解决方法、STP生成树协议 ,根桥(根交换机)、备份根桥、非根交换机、根端口、指定端口、非根非指定端口、桥ID

Python-派大星

10月月更

用昇腾AI护航“井下安全”

华为云开发者联盟

人工智能 安全 华为云 企业号十月 PK 榜

嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)

矜辰所致

Linux Shell shell脚本编程 10月月更

ClickHouse 冷热分离存储在得物的实践

得物技术

数据库 Clickhouse 存储 日志平台 企业号十月 PK 榜

前端技术培训需要什么条件

小谷哥

前端安全沙箱怎样解决开源的安全问题

Geek_99967b

小程序

一份阿里内部GC面试手册,仅一周Github获赞96.9K

程序知音

Java JVM Java虚拟机 java架构 后端技术

eNSP常用命令 华为模拟器eNSP常用命令

Python-派大星

10月月更

超级App成为Gartner预测的战略技术,软件降本增效是否能进一步提速?

Speedoooo

小程序 Gartner预测 超级app 小程序化 超级应用

西安java开发培训学习哪家机构好

小谷哥

北京大数据学习培训机构哪个好

小谷哥

欢迎光临2022年的汽车穿梭餐厅

澳鹏Appen

人工智能 语音识别 数据标注 语音标注 语音数据

9个计算机的“网络层”知识点

华为云开发者联盟

开发 华为云 网络层 企业号十月 PK 榜

10分钟完成模型开发!合合信息智能文字识别服务平台亮相1024程序员节

合合技术团队

人工智能 文档 识别 摩尔纹

盘点 | 主流跨平台软件开发技术方案

Speedoooo

小程序 APP开发 跨端开发 小程序容器 小程序化

大数据培训机构该怎么来选择?

小谷哥

SHAREit X Databend | 跨多云 Data Mesh 大数据平台: Why, What and How

Databend

数十倍的数据量增长,传统 OLAP 还能应对吗?

Kyligence

大数据 金融行业 OLAP技术

SENSORO 付刘伟:图分析在城市治理服务的应用与落地

SENSORO

智慧城市 图数据库 图数据 数据服务

极客时间架构训练营模块三作业

李晨

开源时代下,怎样强化自己的应用安全

Geek_99967b

小程序

教你如何解决T+0的问题

华为云开发者联盟

大数据 华为云 企业号十月 PK 榜

优秀开源云原生工具推荐——系列3

HummerCloud

开源 云原生 开源云工具 10月月更

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