微软回答了他们称之为“关于数据的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