写点什么

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

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

关注

评论

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

智慧环保系统(源码+文档+部署+讲解)

深圳亥时科技

数字身份发展趋势前瞻:无密码认证

芯盾时代

数字身份 身份安全 iam 统一身份认证

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

行云管家

网络安全 等保 日喀则

又是一年双11,火山引擎数据飞轮助力品牌激活“老客”、拉来“新客”

字节跳动数据平台

百度智能云千帆 AppBuilder 大模型应用开发解读

百度Geek说

03MyBatis-Plus中的常用注解

百度搜索:蓝易云

实时监控商品信息api接口,加速迭代优化:助力商家产品持续精进之路

代码忍者

API 接口 pinduoduo API

F5搭载NVIDIA BlueField-3 DPU赋能加速 AI 应用交付

科技热闻

BY林子的“软件质量与测试”赋能体系

BY林子

质量管理 软件测试 软件质量 质量赋能

结合AI的低代码平台:提升生产力与创新力的双重利器

天津汇柏科技有限公司

低代码 AI 人工智能

《使用Gin框架构建分布式应用》阅读笔记:p234-p250

codists

golang gin 编程人 codists

《智能文档处理“百宝箱”:数字化时代文档处理的必备利器》

袁袁袁袁满

人工智能 AI 图像识别 大模型

深度解读RDS for MySQL 审计日志功能和原理

华为云开发者联盟

MySQL 数据库 华为云RDS for MySQL 审计日志

MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况

百度搜索:蓝易云

使用终端MobaXterm连接Centos

百度搜索:蓝易云

Docker启动失败报错Failed to start Docker Application Container Engine解决方案

百度搜索:蓝易云

C#使用Socket实现分布式事件总线,不依赖第三方MQ

沙漠尽头的狼

携手火山引擎,易点天下AI布局加速拓展

新消费日报

面向 Data+AI 的统一数据目录探索 | Data Infra NO.22 回顾(含资料发布)

Databend

时尚零售企业商品计划管理的数字化之旅

第七在线

保障IT资产安全的四个小妙招!

行云管家

IT资产 IT 运维

寻找免费项目管理工具?2024年8款选择

爱吃小舅的鱼

项目管理工具

企业选项目成本管理系统时应看哪些?9款工具介绍

爱吃小舅的鱼

项目成本管理系统

VictoriaMetrics 中文教程(10)集群版介绍

巴辉特

Victoriametrics VictoriaMetrics教程

AI赋能,中国企业管理软件崛起正当时

人称T客

试验协同管理平台(源码+文档+部署+讲解)

深圳亥时科技

人工智能 | 语音识别模型

测吧(北京)科技有限公司

测试

如何使用OPA(开放策略代理)管理您的API策略

Gingxing

kong API网关 Kong 网关 消息网关 Kong Gateway

CST软件发展历程—完备的技术

思茂信息

求解器 cst cst仿真软件

php中mcrypt_encrypt升级到openssl_encrypt

百度搜索:蓝易云

审计考核系统(源码+文档+部署+讲解)

深圳亥时科技

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