写点什么

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

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

关注

评论

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

FlowUs息流接入字节大模型,打造知识管理与协作平台新模态

新消费日报

spirngboot项目 使用AOP限流用户单位时间请求接口次数

百度搜索:蓝易云

Ubuntu安装Docker Engine

百度搜索:蓝易云

日志敏感数据扫描和脱敏最佳实践

观测云

数据脱敏 日志处理

一个库帮你轻松的创建漂亮的.NET控制台应用程序

快乐非自愿限量之名

MySQL 数据库 .net

保姆级指南,从0到1打造你的个人开源项目

Zhendong

Java GitHub 开源

成为榕树:解析华为的智能之路

脑极体

AI

酷克数据启动鲲鹏原生应用开发合作

酷克数据HashData

有趣的大模型之我见 | Claude AI

亚马逊云科技 (Amazon Web Services)

API 生成式人工智能 Amazon Bedrock

一键修图拯救五一废片!百度搜索推出AI图片助手

AI浩

人工智能

DEKRA德凯2023年财年 创新引领韧性发展

财见

全景剖析阿里云容器网络数据链路(七):Terway DataPath V2(Terway≥1.8.0)

阿里巴巴云原生

阿里云 容器 云原生

稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)

Geek_1ef48b

Docker镜像解析获取Dockerfile文件

百度搜索:蓝易云

Docker中jdk8容器里无法使用JDK的jmap等命令的问题

百度搜索:蓝易云

Docker Linux jdk 运维 云服务器

深度干货 | 如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术

YashanDB

数据库 高可用 yashandb 崖山数据库

SD-WAN的核心竞争力有哪些?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

如何通过iPaaS对数据作预警监控

RestCloud

API API网关 预警 ipaas

亚马逊国际AMAZON商品详情API返回值深度解析

技术冰糖葫芦

api 货币化 API 接口 pinduoduo API

以全栈智算拥抱生态,为AIGC种一棵向上生长的巨榕

脑极体

AI

Linux设备驱动系列(七)——真实的设备驱动程序

Linux内核拾遗

Linux Kenel 内核开发 设备驱动

从原始边列表到邻接矩阵Python实现图数据处理的完整指南

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

Spring AI 抢先体验,5 分钟玩转 Java AI 应用开发

阿里巴巴云原生

阿里云 云原生 spring cloud alibaba

PPT目录页怎么做好看?2个自动生成目录的PPT软件推荐!

彭宏豪95

AI PPT 在线白板 AIGC AI生成PPT

PCB中泪滴的作用

芯动大师

PCB 电路板 泪滴

小红书从记忆机制解读信息检索,提出新范式获得 EACL Oral

小红书技术REDtech

gr 检索 信息检索 GDR EACL

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