微软回答“关于数据的 10 个问题”

  • Abel Avram
  • 王瑜珩

2010 年 7 月 8 日

话题:.NETDevOps语言 & 开发架构

微软回答了他们称之为“关于数据的 10 个问题”,解释了 Oslo、ADO.NET Data Services、WCF、LINQ to SQL、T-SQL 以及其它技术的发展情况和未来的计划。

Oslo

微软宣称“会继续开发这些技术”,但不会继续使用“Oslo”这个代号,而是改名为SQL Server Modeling CTP。由于与 SQL 相关技术的紧密联系,特别是 Quadrant(译注:用来查看和修改数据库中数据的工具)和 Repository(现在叫做 SQL Server Modeling Services),这些技术将来会被集成到 SQL Server 中。

微软还解释了 SQL Server Modeling 和.NET 之间的联系:它使得创建模型驱动的应用程序更加容易。

ADO.NET Data Services 和.NET RIA Services ADO.NET Data Services 变成了 WCF Data Services,而.NET RIA Services 则变成了 WCF RIA Services,目的是使 WCF 成为创建服务和多层应用的一站式框架,ADO.NET Data Services 和.NET RIA Services 在此方面完善了 WCF。

LINQ to SQL

LINQ to SQL 在.NET 4.0 中将会继续得到增强:

没错,我们会继续开发 LINQ to SQL。但是我们会更偏重于 Entity Framework,因为此框架是围绕 Entity Data Model(EDM) 构件的。而 EDM 代表了微软很多产品的主要战略方向,包括 SQL Server、.NET 和 Visual Studio。

这条消息明确表明:LINQ to SQL 将不会被包含在更长远的计划中。

“M”语言

微软对于这个语言的定位很模糊。首先,他们说 M 将会和 Oslo 一样,被集成到 SQL Server 中:

很重要的一点是,SQL Server 并不仅仅是一个核心引擎,而是范围更广泛的产品,它包括很多其它的服务和工具。“M”语言及相关的工具将会成为它的一部分,并为其它使用 SQL Server 的产品所使用。

然后,他们又说:

微软正在整合“M”语言和 Entity Data Model,以便 Entity Framework 和 Data Services 可以使用。这将导致同一种数据模型拥有两种不同的表现方式:CSDL,目前 Entity Data Model 所使用的基于 XML 的语言,更适合互操作;或者“M”语言,更适合开发人员。

目前仍不清楚 M 语言将会走向何方。可能将会被包含在 SQL Server 中,但以后将会整合到 Entity Data Model 中。

“M” vs. T-SQL

由于 M 语言还没有发布,微软建议目前还是继续使用 T-SQL,但以后则会不同:

一旦“M”语言发布,就可以使用“M”语言在更高的抽象层次描述问题域。然后可以将“M”语言转换为成 T-SQL、C# 或者其他格式,以便在本地运行环境中做进一步的优化。

WCF Data Services

微软强调了.NET 4.0 和 VS 2010 中包含的 WCF Data Services 新特性:

  • 双向数据绑定
  • 计算数据的总行数
  • Feed 定制化
  • 服务器端分页
  • 增强的 BLOB 支持
  • 为 Custom Provider Writers 提供的新的“Data Service Provider”接口
  • Projections

ADO.NET Entity Framework

ADO.NET Entity Framework 最重要的特性是:

  • 外键
  • 支持 POCO
  • 新模型默认使用延迟加载
  • 为 Query Extender 和 POCO 提供的 EntityDataSource
  • 支持二进制类型的主键和外键
  • ObjectMaterialized 事件
  • 改进的 Object Service API,支持 N 层架构和 Self Tracking Entities
  • 改进的 SQL 生成机制
  • Navigation Property 管理
  • 改进数据库生成机制
  • 新的扩展 API
  • 根据存储过程的返回值生成复杂类型
  • 改进的管理工具
  • 改进的 LINQ to Entities

微软还解释了什么是 Quadrant-“用于显示、查询和编辑 SQL 数据库中数据的工具,具有多种不同的视图,如树形、列表、表格以及 master/detail”,以及什么是 Open Data Protocol(OData),请参考InfoQ 以前的新闻。

查看英文原文:Microsoft Answers “Top 10 Questions on Data”

.NETDevOps语言 & 开发架构