Saturday, May 17, 2008

LINQ and Entity Framework Posts for 5/16/2008+

Note: This post is updated daily or more frequently, depending on the availability of new articles.

Danny Simmons on Why use the Entity Framework?

My Danny Simmons Answers the Frequently Asked Question: Why Use the Entity Framework? of May 18, 2008 analyzes Danny's answer and agrees with his conclusions, as do Jon Papa, Julie Lerman, and Jonathan Carter (so far).

Added: 5/18/2008

Location of Missing ADO.NET Data Services AJAX Client Library

My "Manipulate Data in the Cloud with ADO.NET [Data Services]" story for Visual Studio Magazine's May 2008 issue mentions the ADO.NET Data Services AJAX Client Library but doesn't give its location, which is ADO Data Service AJAX Client Library on CodePlex.

For a guided tour of using the AJAX Client library, try Jonathan Carter's ADO.NET Data Services Part 6: AJAX post.

Added: 5/18/2008

Mike Taulty Duplicates My Problems with VS 2008 SP1 Beta Installation

Mike Taulty had the same problem I encountered with my first installation of the VS 2008 SP1 Beta bits: Indication of a successful install followed by no templates for ADO.NET Entity Data Model or ADO.NET Data Services. (See the "VS 2008 SP1 Beta Didn't Install on My Primary Development Machine (but Said It Did)" topic below.)

Mike's VS 2008 Service Pack 1 - Docs and Installation post of May 18, 2008 tells the gory tale.

ADO.NET Program Manager Sanjay Nagamangalam has some suggestions for three problem scenarios in this VS2008 SP1 Beta fails to add "new item - ADO.NET Entity Data Model" Item Template thread in the Visual Studio 2008 SP1 (Beta) forum.

I decided, like Mike, to start over from scratch by removing my VS 2008 RTM installation and the entire Microsoft Visual Studio 9.0 folder. I also removed the previously unremovable KB949325 and KB945855 HotFixes manually by deleting all their Registry references. Reinstalling VS 2008 RTM and SP1 Beta proceeded without a hitch and ADO.NET Entity Data Model and ADO.NET Data Services templates and libraries appeared and worked as expected.

Added: 5/18/2008

Aghy Continues Her LINQ for SharePoint (LINQ4SP) Series

The LINQ4SP - Create new list item post of May 17, 2008 describes how to create a new SharePoint list item for an AdventureWorks Products list.

Quintin Clark and Jon Udell: WinFS Contributions to Entity Framework and SQL Server 2008

My Jon Udell Interviews Quintin Clark on WinFS's Downstream Effects: Entity Framework and SQL Server of May 16, 2008 contends that Entity Framework and LINQ to SQL descend from Object Spaces, not WinFS.

There's no question, however, the WinFS was the driving force behind SQL Server 2008's filestream and HierarchicalID datatypes.

Bill McCarthy Finally Gets VS 2008 SP-1 Beta to Install

Bill describes the agonizing process he used to get VS 2001 SP-1 Beta to install in his The trials and tribulations of installing VS 2008 SP1 post of May 16, 2008. I wasn't so lucky as the following post reports.

VS 2008 SP1 Beta Didn't Install on My Primary Development Machine (but Said It Did)

My Failed VS 2008 SP1 Beta Installation Indicates Success post of May 16, 2008 describes the trials and tribulations with an install that reported success but didn't install the DDLs and templates for ADO.NET Entity Framework or ADO.NET Data Services.

I filed a Connect bug report on May 14, 2008 and enclosed a rollup of all logs. As of May 17, 2008, all I've received is the standard "Dear John" letter:

Thanks for your feedback. We are escalating this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.

Thank you,
Visual Studio Product Team

Update: May 18, 2008

I fixed the problem by removing and reinstalling VS 2008 RTM and SP1 Beta bits. See the earlier "Mike Taulty Duplicates My Problems with VS 2008 SP1 Beta Installation" topic.

Jim Wooley Discovers an Anomaly in VB's Anonymous Type Property Ordering

His Anonymous Type property ordering in VB post of May 16, 2008 notes that VB orders anonymous types alphabetically, while C# orders them in the sequence of declaration.

Hadi Eskandari Uses LINQ to Enhance WPF INotifyPropertyChanged Implementations

Iranian developer Hadi Eskandari describes in his Enhanced INotifyPropertyChanged post of May 16, 2008 the use of the GetPropertySymbol extension method to extract member names from a lambda expression in a PropertyChangedEventHandler that implements INotifyPropertyChanged.

Hadi's approach is based on Jafar Husain's early Symbols in C# 3.0 post of March 2, 2007.

John Papa Posts a Teaser for His Forthcoming Data Access with Silverlight 2 Book

Silverlight Consuming REST Services of May 16, 2008 explains combining REST APIs with LINQ to XML:

So raw XML comes barreling into your Silverlight application asynchronously, LINQ to XML makes it fall in line, and its bound to where it needs to go via XAML.

Sending data back via REST is also very cool. I've got that working now too. ... Interacting with REST from Silverlight applications is just one piece of the data access puzzle, but its pretty cool.

How about a source code preview, John?

Bill Wagner Has a New C# Book in the Works

His Rough Cuts available for "More Effective C#" post of May 16, 2008 says:

I've been working quite a bit on my next book:  More Effective C#. It's getting closer, and it's now available on Rough Cuts.  Rough Cuts is a Safari Books Online service that provides you with pre-publication first access to upcoming books.  Chapters 1 & 2 are up right now. 

You can see more about the Rough Cuts program here:

More Effective C# is here:

Alex James Explains the Pros and Cons of the Multiple EntitySets per Type (MEST) Model

Multiple EntitySets per Type is a model that few, if any, other object/relational management (O/RM) tools offer. In his MEST - What is it and how does it work? post of May 16, 2008, Alex describes how MEST works graphically by deriving GoodCustomer and BadCustomer entities from a base Customer entity.

He also describes the morass you enter when the GoodCustomers and BadCustomers EntitySets have two-way associations with Orders, OrderLines and Products EntitySets. Alex says:

    • The EntityFramework in V1 just can't handle this ambiguity.
    • Going forward we are trying to work out how to handle this situation gracefully.
    • Still today the only workaround is to duplicate the whole graph.

Bob Beauchemin Explains VS 2008 SP1's Enhancements to ADO.NET Sync Services for Change Tracking with SQL Server 2008.

Bob's SQL Server 2008 Change Tracking and Sync Services ARE made for each other... in VS2008 SP1 post of May 16, 2008 is a paen to a new feature of VS 2008's Sync Services Designer:

Visual Studio 2008 SP1 Beta contains direct support for using SQL Server 2008 Change Tracking. When you use ADO.NET 1.0 Sync Services with a SQL Server 2008 database, the Sync Services designer (that's Add/New Item/Local Database Data Cache) adds a checkbox that allows you simply to "Use SQL Server Change Tracking". No extra triggers, no tombstone tables, change tracking does it all for you. Visual Studio generates some scripts to enable change tracking at a database level and at a table level for the tables you select.

He then goes on to discuss generated code to warn users who don't resync frequently enough and SQL Server Books Online's recommendation to use Snapshot isolation with this feature.

This feature is likely to enhance SQL Server 2008's participation in Live Mesh projects.

Dinesh Kulkarni Continues his LINQ to SQL Server Tips Series

LINQ to SQL Tips 7: Using stored procs that return multiple results of May 16, 2008 is the latest episode. Following are links to earlier posts:

The mystery is where are Tips 5 and 6?

Om Malik Presenting Cloud Computing Conference June 25, 2008 in San Francisco

A Web technology isn't real until it has its own conference. Om's Structure 08 Conference subtitled "Put Cloud Computing to Work" will be held at San Francisco's new Mission Bay Conference Center of June 25, 2008.

Among the speakers will be Werner Vogels (Amazon VP, CTO and keynoter), Microsoft's Debra Chrapaty (Microsoft Corporate Vice President, Global Foundation Services), and Christophe Bisciglia (Google Sr. Software Engineer).

Why should we ‘Refresh the Net’? is a sidebar that purports to offer "more about the topics and issues at Structure 08 from community thought leaders."