Saturday, August 26, 2006

ADO.NET vNext and Entity Framework Resources

This post contains links to resources for .NET developers who are interested in exploring ADO.NET vNext for Visual Studio vNext ("Orcas"). The link topics are the Entity Framework (EF), Entity Data Model (EDM), Entity SQL (eSQL), LINQ to Entities, LINQ to SQL (formerly DLinq), LINQ to DataSets, LINQ to XML (formerly XLinq), LINQ to Objects, and EF's erstwhile predecessor, ObjectSpaces. The last two sections of this post are devoted to Object/Relational Mapping (O/RM) in general and Domain-Specific Languages (DSLs).

Note: Unlike most blogs entries, this item is updated and republished periodically (see the end of this post for details.) Last update 4/11/2007.

ADO.NET vNext and LINQ CTP Downloads

The following CTPs have been superceded by the ADO.NET Entity Framework and LINQ implementation of the Orcas March 2007 Community Technical Preview. However, some features of the May and August 2006 LINQ CTPs are missing from this Orcas CTP -- most notably, the Entity Data Model (EDM) Designer, which will not be included in the final Orcas RTM version.

Microsoft Visual Studio Code Name “Orcas” Language-Integrated Query, May 2006 Community Technology Preview installer (LINQ Preview (May 2006).msi, 5/10/2006, required to install ADO.NET vNext CTP)

Use the Add/Remove Programs tool to remove previous versions (PDC 2005 or January 2006) of the LINQ CTP and review the C# Readme, VB Readme, or both before downloading and installing the LINQ May 2006 CTP (5/10/2006)

ADO.NET vNext CTP (Community Technology Preview) - August 2006 installer (ADONETVN.msi, 8/17/2006, requires LINQ May 2006 CTP, Visual Studio 2005 Standard Edition or higher, Visual Basic 2005 Express, or Visual C# 2005 Express; Visual Web Developer 2005 Express isn't supported.)

Visual Studio 2005 Web Application Projects add-in (WindowsApplicationProjectSetup.msi, 1.2MB) is required to run the WebForm's Visual Basic version that includes a WebAppSample.vbproj file.

White Papers and Backgrounders

Entity Framework (EF) and Entity SQL (eSQL)

Next-Generation Data Access: Making the Conceptual Level Real by José Blakeley, David Campbell, Jim Gray, S. Muralidhar, and Anil Nori (June 2006, HTML)

The ADO.NET Entity Framework Overview (June 2006, HTML)

ADO.NET Tech Preview: Entity Data Model (June 2006, HTML)

eSQL: An Entity SQL Language, ADO.NET Technical Preview (promised by the "Overview")

Entity SQL Quick Reference Guide (June 2006, a Word DOC in your C:\Program Files\Microsoft SDKs\ADO.NET vNext CTP\Docs folder after installing the CTP)

Mapping-Driven Data Access, a position paper by Sergey Melnik about declarative mapping, bidirectional views, and view maintenance in the ADO.NET Entity Framework (8/23/06 draft, see also the Reusable Tools for Metadata Management - Pie in the Sky? presentation in the next section).

There Is No Impedance Mismatch: Language Integrated Query In Visual Basic 9, a brief paper to be presented by Microsoft Research's Eric Meijer at the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2006), October 22-26, Portland, Oregon. Queries in ADO.NET vNext, a detailed ADO.NET Team Blog post by S. Muralidhar, a.k.a, Murali (August 21, 2006)

The Weird World of Bi-Directional Programming slides about the University of Pennsylvania's Harmony, a universal data synchronizer, by Benjamin C. Pierce, Microsoft Research, Cambridge (on leave from the University of Pennsylvania, March 2006)

Integrating Programming Languages & Databases: What's the Problem? by William R. Cook and Ali H. Ibrahim, Department of Computer Sciences, University of Texas at Austin (October 2005 draft)

LINQ to DataSet

LINQ to DataSet for C# Developers (May 2006, Word DOC)

LINQ to DataSet for Visual Basic Developers (May 2006, Word DOC)

LINQ to SQL (formerly DLinq) 

LINQ to SQL: .NET Language-Integrated Query for Relational Data by Dinesh Kulkarni, Luca Bolognese, Matt Warren, Anders Hejlsberg, Kit George (updated March 2007)

DLinq Mapping Draft Specification (August 2006, Word DOC)

DLinq Data Types and Functions (August 2006, Word DOC)

DLinq Overview for C# Developers (May 2006, Word DOC)

DLinq Overview for Visual Basic Developers (May 2006, Word DOC)

DLinq Designer (May 2006, Word DOC). See also the Domain-Specific [Programming] Languages (DSL) section at the end of this post.

LINQ to XML (formerly XLinq)

.NET Language-Integrated Query for XML Data by Michael Champion (updated February 2007)

XLinq Overview (May 2006, Word DOC)

XML Support In Visual Basic by Erik Meijer and Brian Beckman (January 2006, PDF)

Generic LINQ, C# 3.0 and VB 9.0

LINQ: .NET Language-Integrated Query by Don Box and Anders Hejlsberg (updated February 2007)

The .NET Standard Query Operators by Anders Hejlsberg and Mads Torgersen (updated February 2007)

Overview of C# 3.0 by Anders Hejlsberg and Mads Torgersen (updated March 2007)

Overview of Visual Basic 9.0 by Erik Meijer, Amanda Silver and Paul Vick (September 2005)

C# Version 3.0 Specification (October 2005)

ObjectSpaces (abandoned)

A First Look at ObjectSpaces in Visual Studio 2005 by Dino Esposito (February 2004)

Getting Started with ObjectSpaces by Jan Teilens for MSDN Belgium/Luxembourg (February 2004, HTML)

Videos, Screencasts, Podcasts, and PowerPoint Presentations

Visual Studio: The .NET Language Integrated Query (LINQ) Framework Overview with Anders Hejlsberg from Tech*Ed Barcelona (November 2006)

C# 3.0: Future Directions in Language Innovation with Anders Hejlsberg from Tech*Ed Barcelona (November 2006)

Anders Hejlsberg on LINQ and Functional Programming interview with Charlie Calvert (January 26, 2007)

The LINQ Project with Anders Hejlsberg from the LANG.NET conference (August 2006)

ADO.NET Entity Framework: What. How. Why. Channel9 video with Pablo Castro, Michael Rizzo, and Britt Johnston (July 19, 2006)

Two ADO.NET vNext screencasts (C#): Part 1 and Part 2 (July 11, 2006)

Chatting about LINQ and ADO.NET Entities Channel9 video with Anders Hejlsberg and Sam Druker (June 9, 2006).

Slides from Reusable Tools for Metadata Management - Pie in the Sky, by Sergey Melnik, Microsoft Research, a keynote presentation about EDM in ADO.NET vNext and mapping-driven data access to the 18th International Conference on Scientific and Statistical Database Management (SSDBM 2006, July 3 - 5, 2006, Vienna University, Austria.

Slides and ASP.NET/LINQ to Everything sample code from Scott Guthrie's Building Data Driven ASP.NET Web Applications using LINQ presentation at Tech•Ed 2006 Australia and New Zealand.

InfoWorld analyst Jon Udell interviews Anders Hejlsberg about the LINQ and the May 2006 CTP (May 12, 2006)

Slides from Jim Gray's Database Activities and Trends Tech*Ed London 2006 presentation, which refers to Entity Sets as the "next step for DataSets in ADO.NET v3", and describes LINQ for SQL and LINQ for XML as "a BIG deal" (June 2, 2006)

Note: The following two Jim Gray papers don't relate directly to ADO.NET vNext or LINQ, but are the foundation for much of the preceding Tech*Ed 2006 presentation.

Jim Gray’s What’s Next for Database presentation to the SQL PASS 2005 Community Summit (September 2005, video). Related paper by David Campbell, Service Oriented Database Architecture: App Server-Lite? (ACM SIGMOD, June 2005, PDF).

Slides from Jim Gray's The Revolution in Database System Architecture presentation from Advances in Databases and Information Systems (ADBIS, March 2004), Budapest; Extended abstract, The Revolution in Database Architecture (ACM SIGMOD, September 2004, PDF).

Slides from Meta Data Management by Sergey Melnik and Phil Bernstein of Microsoft Research's Model Management Project, presented at the 20th International Conference on Data Engineering (ICDE 2004, March 30 - April 2, 2004). Phil Bernstein formerly was the architect of Microsoft Metadata Services.

Luca Bolognese’s seminal Developing Applications Using ADO.Net ObjectSpaces presentation to the Microsoft Professional Developers Conference, PDC 2003 (October, 2003)

Microsoft ADO.NET vNext and LINQ-Related Sites and Blogs

The LINQ Project (main MSDN LINQ site, but not kept up to date

New ADO.NET blog (emphasizes ADO.NET vNext)

Danny Simmons: system.data.objects dev guy (EF Object Services layer)

XML Team (covers LINQ to XML)

Data Programmability Team (general data topics)

Dinesh Kulkarni (LINQ to SQL, infrequent posts

Scott Guthrie (ASP.NET and LINQ)

Matt Warren (occasional posts about LINQ)

Dave Remy (formerly XLinq program manager and XML group program manager)

Andrew Conrad (posts about ObjectSpaces)

Soma Somasegar: LINQ and ADO.NET Innovations (LINQ naming conventions) and May LINQ CTP available now! (description of latest LINQ CTP)

Articles about ADO.NET vNext and LINQ from FTPOnline

Objectify Data with ADO.NET vNext by Roger Jennings for Visual Studio Magazine using the August 2006 CTP (October 30, 2006)

Generate Data-Based Web Sites With Blinq by Roger Jennings about an autogenerated ASP.NET Web site scaffolded with LINQ for SQL from the May 2006 CTP (June 26, 2006)

LINQ Takes Shape in May CTP by Roger Jennings about the May 2006 CTP from FTPOnline's Special Report on .NET (May 15, 2006)

Save Time With LINQ Queries by Bill Wagner, based on the January 2006 CTP, from FTPOnline's Special Report on SQL Server (May 1, 2006)

Test Drive VB9 and DLinq by Roger Jennings about the January 2006 CTP from Visual Studio Magazine (March 27, 2006)

Streamline Mapping With Orcas and LINQ by Roger Jennings about object-relational mapping (ORM) with the PDC 2005 version of LINQ from Visual Studio Magazine (November 7, 2005)

Microsoft Unveils .NET Data Futures at PDC 2001 by Roger Jennings about the first ObjectSpaces "Orca" Technical Preview (December 2001)

Note: Reading more than page 1 of the preceding articles or downloading sample code no longer requires free registration.

Microsoft Newsgroups for ADO.NET vNext and LINQ

ADO.NET Orcas Forum (for Entity Framework, LINQ to Entities, Object/Relational Mapping, and Entity Data Modeling)

LINQ Project General Forum (for LINQ to Objects, LINQ to SQL, LINQ to XML

OakLeaf Blog Entries about ADO.NET vNext, LINQ, and ObjectSpaces

See Yet Another Primer on New Language Features in Orcas (March 13, 2007, updated April 11, 2007) for serial posts about LINQ, LINQ flavors, and (primarily) C# 3.0.

Search Google for OakLeaf items about ADO.NET vNext, DLinq or LINQ to SQL, XLinq or LINQ to XML, and ObjectSpaces (Blogger search doesn't display items earlier than March 2006; these Google searches return all items.)

Other Third-Party ADO.NET vNext and LINQ Blogs

Andres Aguiar: Andres Aguiar's Weblog

Peter Gielens: ThoughtsService

Kevin Hoffman: The .NET Addict's Blog

Julie Lerman: The Data Farm and DevLife

Sahil Malik: blah.winmarts.com Blog

Fabrice Marguery: Fabrice's Weblog and The Mad Geek (articles in English and French.)

Bart de Smet: The B# Blog (IQueryable Tales - LINQ to LDAP)

Erwyn Van Der Meer: Blogging About Dot Net

Jim Wooley: Wooley' Wanderings

Note: Listed alphabetical by last name.

See Yet Another Primer on New Language Features in Orcas for links to Microsoft and third-party blogs about LINQ and the Entity Framework.

Object/Relational Mapping (O/RM) Resources

Entity/Relationship Model (Wikipedia)

Object/Relational Mapping definition (Wikipedia)

How-To-Select an Object-Relational Mapping Tool for .NET by Jason Mauss reviews 36 proprietary and open-source O/RM tools (undated)

Choosing an object-relational mapping tool (for .NET) by Fabrice Marguerie, also available in French (November/December 2004)

The Viet Nam of Computer Science by Ted Neward, an essay postulating that the U.S. military machine were and computer programmers now are "faced with a deadly form of the Law of Diminishing Returns (June 2006)

More coming soon.

Domain-Specific [Programming] Languages (DSLs)

Domain-Specific Programming Languages definition (Wikipedia)

Visual Studio 2005 Domain-Specific Language Tools site

Stuart Kent: Domain-Specific Software Development blog

Steve Cook: Steve Cook's Weblog (Microsoft DSL Tools team)

Updates: 9/2/2006: Added ADO.NET vNext related papers and presentations by Microsoft Research's Sergey Melnik and Phil Bernstein, who are members of the Database Group and direct the Model Management Program. 9/5/2006: Added links to Eric Meijer's VB 9.0 OOPSLA 2006 presentation and Scott Guthrie's Tech•Ed 2006 Australia and New Zealand LINQ session, plus Sahil Malik's Winsmarts.com blog. 9/8/2006: Added A First Look at ObjectSpaces in Visual Studio 2005 by Dino Esposito (February 2004), The Weird World of Bi-Directional Programming by Benjamin C. Pierce (March 2006), Integrating Programming Languages & Databases: What's the Problem? by William R. Cook and Ali H. Ibrahim, Department of Computer Sciences, University of Texas at Austin (October 2005 draft), The Viet Nam of Computer Science by Ted Neward, and several Wikipedia entries. 12/8/2006: Added reference to Chatting about LINQ and ADO.NET Entities video with Anders Hejlsberg and Sam Druker. 4/11/2007: Major update with additions of updated Microsoft white papers from Jim Wooley's LINQ articles on MSDN2 post of 4/11/2007 and LINQ to SQL white papers and LINQ videos from Charlie Calvert's February/March Orcas CTP Now Available post of 3/1/2007.

Technorati Tags: ADO.NET vNext, Entity Framework, Entity Data Model, LINQ, LINQ to Entities, LINQ to DataSets, LINQ to SQL, Entity SQL, eSQL, DLinq, XLinq, C# 3.0, VB 9.0, Orcas, ObjectSpaces, Domain-Specific Languages, DSL, DSL Tools