速来报名!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:143069
用户头像

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

关注

评论

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

【AI模型】首个Joy 模型诞生!!!全民生成Joy大片 | 京东云技术团队

京东科技开发者

AI模型 企业号10月PK榜 京东joy

对于数字化转型,数据代表了什么?

IT民工大叔

数据 数字化转型 数字化

人工神经网络(ANN)

小魏写代码

docker制作springboot镜像

tiandizhiguai

镜像 Docker 镜像 kubernetes 运维

3D孪生场景SDK:Viwer 孪生世界

3D建模设计

数字孪生

免备案香港服务器助你快速扩展业务,无忧上线新业务

一只扑棱蛾子

香港服务器

玻璃led显示屏与透明led显示屏有区别

Dylan

安装 维护 LED显示屏 led显示屏厂家 设备日常保养

搭建Llama2大模型训练环境的关键要素

百度开发者中心

大模型训练 千帆大模型平台

3D孪生场景搭建:模拟仿真

3D建模设计

数字孪生 3D应用场景 3D编辑器

像win一样使用Mac的鼠标右键:MouseBoost Pro

展初云

Mac软件 鼠标扩展

小白修图必备Topaz Photo AI for Mac图像智能处理工具

展初云

图像处理 Mac 软件 修图软件

苹果Mac视频编辑软件 Final Cut Pro

展初云

Mac软件 视频编辑工具 FCPX软件 fcpx

DeFi 的兴起:与加密货币交易所应用程序开发的协同作用

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

实现动态表单的一种思路 | 京东云技术团队

京东科技开发者

元数据 动态表单 前后端交互 企业号10月PK榜

身为产品经理该如何向客户推广API商品数据接口,该如何跟进项目和程序员对接?

Noah

API 接口 API 文档

macos多功能cad绘图工具:AutoCAD 2024 激活版中文

mac大玩家j

Mac软件 CAD绘图 cad cad软件

大模型训练:文件保存类型与优化策略

百度开发者中心

大模型训练 千帆大模型平台

3D孪生场景搭建:3D漫游

3D建模设计

数字孪生 3D编辑器 3D漫游

万字解读|怎样激活 TDengine 最高性价比?

TDengine

时序数据库 ​TDengine

递归解析Json,实现生成可视化Tree+快速获取JsonPath | 京东云技术团队

京东科技开发者

json tree 企业号10月PK榜 JsonPath

软件测试/测试开发丨接口测试学习笔记-常见的接口协议

测试人

软件测试 HTTP 接口测试 接口协议

企业拥抱大模型,腾讯云为什么值得期待?

ToB行业头条

35岁,互联网技术岗,何去何从?

老张

职业发展 35岁焦虑

LLMops:大模型时代的运维与部署之道

百度开发者中心

大模型 LLMOps 千帆大模型平台

MySQL innoDB 间隙锁产生的死锁问题 | 京东云技术团队

京东科技开发者

MySQL innodb 死锁 Mysql死锁 企业号10月PK榜

多数据源管理:掌握@DS注解的威力 | 京东云技术团队

京东科技开发者

mybatis Mybatis Plus 企业号10月PK榜 DS注解

开源即时通讯IM框架 MobileIMSDK v6.4 发布

JackJiang

网络编程 即时通讯 IM

Mac电脑风扇转速控制 Macs Fan Control Pro中文激活版

胖墩儿不胖y

Mac软件 风扇控制软件 风扇转速

让你遥遥领先的七个编程习惯

互联网工科生

编程 编程好习惯

Embedding技术与应用 (2) :神经网络的发展及现代Embedding方法简介

Baihai IDP

人工智能 神经网络 AI 嵌入 白海科技

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