Wednesday, February 28, 2007

Orcas March CTP Available from MSDN

Microsoft released on February 28, 2007 the Microsoft Pre-release Software Visual Studio Code Name "Orcas" - March Community Technology Preview (CTP) as a self-extracting install or VirtualPC image. The Release Notes are here. According to the Overview on the download page, highlights for LINQ and ADO.NET 3.0 are:

  • LINQ

      The LINQ Project: this CTP represents a major milestone in the LINQ project. For more information about LINQ click here

    • VB 9.0 Language Support: This CTP contains the following language features:
      • Query Expressions: Basic querying, filtering, and ordering support
      • Object Initializers
      • Extension Methods
      • Local Variable Type Inference
      • Anonymous Types
      • XML literals
      • XML properties
      • New Line and Expression IntelliSense
    • C# 3.0 Language Support: This CTP implements all of the C#3.0 language features from the May LINQ CTP including:
      • Query Expressions
      • Object and Collection Initializers
      • Extension Methods
      • Local Variable Type Inference and Anonymous Types
      • Lambdas bound to Delegates and Expression trees
      • Complete design-time support: IntelliSense, Formatting, Colorization
    • LINQ to ADO.NET
      • ADO.NET is fully integrated with LINQ and offers many options for using LINQ in various scenarios: LINQ to SQL provides direct access to database tables from the programming environment, LINQ to Entities enables developers to use LINQ over EDM models, and LINQ to DataSet allows the full expressivity of LINQ to be used over DataSets.
      • LINQ to Entities enables developers to program against a relational database using a view of the data that is appropriate for the application they are building, independent of the structure of the underlying database. The use of the Entity Data Model (EDM) enables developers to design models that follow the concepts built into the application, instead of having to map them to constructs available in relational stores. LINQ to Entities is built on the ADO.NET Provider model and will support working against different back end relational stores in addition to Microsoft SQL Server. This CTP includes a LINQ to Entities provider for SQL Server and SQL Server Compact Edition.
      • LINQ to SQL (previous name DLinq) has enhanced the functionality from the May 2006 LINQ CTP. You can find it in System.Data.Linq namespace in System.Data.Linq.dll. New in this release is that DataContext provides optimized modes for read-only use and serialization . Also new is that DataShape streamlines eager loading capabilities and adds the ability to set queries on relationships
    • LINQ To SQL Designer
      • Methods can be created from stored procedures and functions within the designer.
      • Better handling of database schemas.
      • Improved inheritance support in the designer.
    • LINQ over XML (XLinq)
      • System.Xml Bridge Classes added – There is a set of extension methods allowing XPath / XSLT to be used over LINQ to XML trees, allow XSLT transformations to produce an LINQ to XML tree, and to validate an XElement tree against an XML Schema.
      • Event Model - This allows LINQ to XML trees to be efficiently synchronized with a GUI, e.g. a Windows Presentation Foundation application
      • Class hierarchy changes - XObject class added, XStreamingElement class (temporarily) removed
      • Various understandability / usability improvements – There have been a number of relatively minor changes done in response to internal reviews, usability studies, and external feedback to make the API more clean and consistent.
    • LINQ to Objects API
      • The LINQ to Objects API supports queries over any .NET collection, such as arrays and Generic Lists. This API is defined in the System.Linq namespaces inside System.Core.dll.
  • ADO.NET
    • Extended, more powerful data APIs with the ADO.NET Entity Framework
      • With the ADO.NET Entity Framework developers will be able to model the view of the data that is appropriate for each one of the applications they are building, independently of the structure of the data in the underlying database. The use of the Entity Data Model (EDM) enables developers to design models that follow the concepts built into the application, instead of having to map them to constructs available in relational stores. Once the model is in place, the powerful ADO.NET Entity Framework API is used to access and manipulate the data as .NET classes or as rows and columns, whatever is appropriate for each application.
    • Added paging and stored procedures for update (“update customization”) for ADO.NET Entity Framework:
      • Paging: the paging support in the ADO.NET Entity Framework allows developers to “page” over data in a database by indicating the start row and number of rows to be included in the result. Paging is available through Entity SQL (using the LIMIT AND SKIP keywords) and through the query-builder methods in the ObjectQuery <T> class (Top and Skip). In a future CTP the feature will also be enabled to be used in LINQ queries by means of the standard Take and Skip LINQ operators.
      • Stored-procedures for update customization: the Entity Framework by default automatically generates SQL statements for insert, update and delete operations when processing changes to entities in memory to be sent to the database. With the stored-procedures update customization feature developers have the option to override the automatic SQL generation and instead provide stored-procedures that will perform the insert, update and delete operations, which the system will call during entity change processing. Among other things, this enables scenarios where direct access to tables is restricted in the database and the only way to make changes to the data is through stored-procedures.
    • Microsoft Synchronization Services for ADO.NET
      • Provides an application programming interface (API) to synchronize data between data services and a local store. The Synchronization Services API is modeled after the ADO.NET data access APIs and gives you an intuitive way to synchronize data. It makes building applications for occasionally connected environments a logical extension of building applications where you can depend on a consistent network connection.

Supported operating systems are Windows Server 2003 and Windows XP. Vista support is conspicuous by its absence.

Update 3/1/2007 9:00 am: Microsoft modified the System Requirements section for the VirtualPC image as follows:

Note that the Orcas Base Image is Windows Server 2003 Enterprise Edition, not Windows Vista, for the Orcas January 2007 CTP. I haven't tested the current Orcas Base Image.

As of 9:45 am, the System Requirements section for the self-extracting install remained:

  • Supported Operating Systems: Windows Server 2003; Windows XP
  • Processor: 1.6GHz Pentium III+
  • RAM: 1 GB of available physical RAM

Lack of Vista support for the self-extracting install is surprising when you consider this post from Somasegar's blog: "Our goal with Orcas is to build the best tool set for Windows Vista ... For the first time, we have a WPF designer in the product, enabling a more complete WPF development experience."

Notice the missing SP2 requirement for Windows XP in both CTP versions.

Related Posts:

  • Charlie Calvert's C# blog has a link to a video about the CTP starring Luca Bolognese and other members of the LINQ team.
  • The XML Team's announcement is here.
  • The Visual Basic Team's annoucement is here.

Question of the Week: Where's Microsoft's VB.NET evangelist who corresponds to the C# group's Charlie Calvert?

The Feature Specifications for Visual Studio and .NET Framework "Orcas" hasn't been updated for the March 2007 CTP and contains only one reference to LINQ (the LINQ to XML Core Specification).

0 comments: