Friday, December 19, 2008

LINQ and Entity Framework Posts for 12/15/2008+

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

Effective 1/1/2009, Azure. SQL Data Services, and Cloud Services Posts will become a separate weekly or more frequent linkblog.

Updated 12/20/2008 5:00 PM PST
Updated 12/19/2008 5:00 PM PST
• Updated 12/17/2008 5:00 PM PST

Entity Framework and Entity Data Model (EF/EDM)

Alex JamesDefiningQuery versus QueryView post of 12/19/2008 delivers the details of when to choose DefiningQuery or QueryView in what he calls a “Paradox of Choice.”

The Entity Framework User Education Team’s New Entity Framework Documentation Topics post of 12/17/2008 provides links to the following new EF topics:

Simon Segal is Narrowing ORM options for the sake of sanity to EF as noted in this brief 12/17/2008 post. He’s concluded:

I have found to date that I can continue with using the Repository approach along with the Specification Pattern (for dynamic querying) and Fetching Strategies and that was a big criteria for me. There are of course some lingering frustrations with Version 1.0 however at this point I am satisfied that the Entity Framework team will address those in subsequent releases and for the moment I will endure.

Juliën HanssensEntity Framework and Stored Procedures post of 12/10/2008 was my first encounter with a new EF-oriented Belgian blogger. I missed his earlier Entity Framework - ArgumentException on Connection post of 10/11/2008.


Jeffrey Schwartz continues to flog the LINQ to SQL vs. EF controversy in his Microsoft Says LINQ To SQL Not Dead “Data Driver” column of 12/18/2009 for Redmond Developer News that contains an edited transcript of his telephone interview with Tim Mallalieu. Here’s the deck:

Tim Mallalieu, the program manager for both LINQ to SQL and the Entity Framework, who says Microsoft anticipated the backlash but said both data access interfaces will be better off for this move.

Brian Avery’s LINQ to SQL and Paging of 12/15/2008 explains how ASP.NET’s LinqDataSource simplifies data paging code and DataContext in LINQ to SQL of 12/10/2008 links to an interesting article on best practices for managing LINQ to SQL’s DataContext.

Andy Conrad asks What is IUpdatable? Why should I care? on 12/15/2008. See the full item in the “ADO.NET Data Services (Astoria)” section.

The SQL Server Team announced SQL Server 2005 SP3 now available for download on 12/10/2008, but the post didn’t appear until 12/15/2008.

LINQ to Objects, LINQ to XML, et al.

Rocky Lhotka reports that LINQ to CSLA indexing has been enhanced in his CSLA .NET 3.6 for Windows and for Silverlight is released! post of 12/17/2008.

• Jeff Certain’s Scaling ADO.NET DataTables paper describes how to improve performance of queries against DataTables with indexes and LINQ to DataSet. (Thanks to Beth Massi for the heads up in her Community Article: Scaling ADO.NET DataTables post of 12/17/2008.)

Eric White describes A More Robust Approach for Handling XName Objects in LINQ to XML in this lengthy 12/15/2008 post.

Charlie Calvert’s Query Data with Parallel LINQ post of 12/15/2008 explores PLINQ (Parallel LINQ) and observes:

The code shown in this post uses a pre-release version of PLINQ called the Microsoft Parallel Extensions to .NET Framework 3.5. When PLINQ finally ships, it will run only on .NET 4.0 or later. The version I'm using that runs on top of 3.5 is for evaluation purposes only. There will never be a shipping version that runs on .NET 3.5.

Vincent Home discusses an often-overlooked LINQ addition in his LINQ Dynamic Query Library post of 12/15/2008.

Juliën HanssensLINQ and Dynamic Query Expressions post of 12/11/2008 discusses creating dynamic LINQ queries with expression trees.

ADO.NET Data Services (Astoria)

Pablo Castro mentioned that "SQL Data Services ... got a new experimental Data Services interface this week to coincide with the PDC" in his ADO.NET Data Services in Windows Azure: pushing scalability to the next level post of 11/1/2008, but SQL Services Labs still has "Download links coming soon" at the bottom of I’ve been checking periodically to see if the link was live; so far, no luck.

Today, I asked “Any idea when the experimental interface will be available for testing?” in a comment to Pablo’s blog test, as well as in the start of a thread in the new ADO.NET Data Services forum. I’ll add a new post and update this when I receive an answer.

John Papa’s Now Available: Data Driven Services with Silverlight 2! post of 12/18/2008 announces that you can buy his book from O’Reilly or Amazon. I ordered my copy from Amazon today.

John Papa rescheduled his geekSpeed about Silverlight and ADO.NET Data Services to Thursday, January 8, 2009 at 12:00 PST due to his wife’s medical emergency that he describes in his When Life Takes a Detour post of 12/17/2008. John’s wife and yet-unborn baby are now doing fine.

Mike Flasko’s Design Notes: Row Count of 12/15/2008 invites reader comment on the proposed addition of a $count operator to LINQ to REST’s syntax.

Andy Conrad explains What is IUpdatable? Why should I care? in this 12/15/2008 post, which concludes:

[A]ny data source for Astoria that wants to support PUT, POST, and DELETE … must have an implementation of IUpdateable for their specific DAL. Hence why I started projects on Code Gallery to provide reference implementations of implementing IUpdatable for SubSonic and LINQ to SQL.

There actually are a few more smaller interfaces to implement to become a full fledge ADO.NET Data Service provider.  At some point in the near future, I will try to get a post up describing that stuff plus some preview of the refactoring we are doing in V2 of ADO.NET Data Services to make a nicer provider plugin model.

Shawn Wildermuth’s ADO.NET Data Services for Multiple Databases0? post of 12/15/2008 shows how to refactor Entity Framework connection strings at runtime.

John Papa has scheduled a geekSpeak on Wednesday: Silverlight and ADO.NET Data Services at noon PST, according to this 12/15/2008 post.

ASP.NET Dynamic Data (DD)

Jonathan Carter discusses the AssociatedMetadataTypeTypeDescriptionProvider in his Dynamic Data: Associated Types And The Models They Love post of 12/18/2008.

Jonathan Carter’s Dynamic Data: Annotating Your Data-Driven World post of 12/15/2008 continues his series about ASP.NET Dynamic Data.

SQL Data Services (SDS) and Cloud Computing

••• David Lempher’s Windows Azure Storage - Exploring Blobs! post of 12/19/2008 begins the development of a blob storage project. Dave says:

Now, let me explain my approach first, as this post will be one of many along this vein. I'm purposely not using the StorageClient sample, as I want to understand the atomic steps required to work with the REST API for the Storage service. 

Also, to start, I'm exploring the Blob service, and using the SDK documentation and StorageClient as a guide.

His blob post includes source code link.

Dave is a recently appointed Senior Program Manager on the Azure Engineering team who posted a very detailed description of how Azure fits into Microsoft data center(s) in his Windows Azure - What Happens in the Data Center? article of 12/15/2008.

Ryan Barrett’s Windows Azure impressions of 11/22/2008 and Windows Azure details of the same date are a detailed analysis of the Azure Services Platform from the standpoint of a developer on the Google App Engine team. Ryan spent most of his time “writing the datastore, both the backend and much of the Python API.” His conclusions are surprisingly upbeat for an employee of a direct competitor. He also posted a briefer Amazon SimpleDB thoughts on 12/16/2007.

••• Mike Amundsen’s POST to Azure tables w/o PartitionKey/RowKey: that's a bug, right? thread of 12/12/2008 in the Windows Azure forum has received considerable attention from Microsoft’s Jai Haridas and Niranjan Nilakantan about the issue of whether the ability to add an entity with an empty PartitionKey and RowKey is a bug. Microsoft claims it’s by design, despite the fact that a table can only hold one entity with two empty keys. The more interesting issue is the affect of the partition key on distribution of the Entity Group over multiple VMs or machines, which was in the process of being clarified when I added this item.

Roger JenningsImportant Windows Azure Documentation Hidden in the MSDN Library of 12/18/2008 contains links to six Windows Azure tutorials that you might overlook because they’re located under the generic “Visual Studio 2008 Developer Center” section.

Jim Nakashima’s Packaging up Dependencies post of 12/17/2008 points to Albert Pascual’s The cloud for a fast deployment of proof of concepts post of 12/16/2008, which contains a substantial number of issues, workarounds, and tips, including the unfortunate issue that libraries with dependencies don’t cause those libraries to be uploaded to your Windows Azure instance.

Ryan Dunn, Microsoft’s SQL Data Services evangelist, discusses SDS, “the future of the cloud based data services, what is currently available and how to get started” in this one-hour podcast of 12/9/2008 from SQL Down Under.

Tom Foydel recounts how HelpStream moved its Web-based “social customer service” application to Amazon Web Services in his Running SaaS in the Cloud post of 12/17/2008.

David Pallman describes Dev Fabric Status Colors and Meaning in this 12/16/2008 post about the Azure Development Fabric management console.

Mike Amundsen reports in his Azure.exe : Table continuation headers post of 12/16/2008 that:

[Azure.exe] now properly supports the custom continuation header for Table objects (x-ms-continuation-NextTableName). [T]his also allowed me to complete testing on the the possible Table query options.

His Web server is back up at a new location.

Mark Masterson’s The Enterprise Cloud essay of 12/16/2008 is a chapter-length analysis of “start-up clouds” and “enterprise clouds.”

John Foley observes potential problems for cloud computing from privacy mavens in his 'Illegal, Unethical, Untrustworthy' Clouds post of 12/16/2008.

Martin Heller’s detailed Test Center preview: Windows Azure Services Platform gives wings to .Net of 12/15/2008 concludes:

Microsoft's Community Technology Preview reveals a thoughtfully designed cloud computing architecture where seasoned .Net developers will feel at home

.NET Rocks interviews David Aiken on Azure in this 12/16/2008 podcast with Azure’s Senior Architect-Evangelist that focuses on the Windows Azure operating system.

Tom Bittman’s Data Center Executives See Clouds In Their Future post of 12/11/2008 reports:

More than half of large enterprise data center executives [attending Gartner’s Data Center Conference in Las Vegas last week] expect to get some IT services from the cloud within two years.

InformationWeek’s Bob Evans adds his take on Bittman’s survey in Gartner: Will Cloud Displace Internal IT Services For Data Centers? of 12/15/2008.

James Staten offers Should Your Windows Apps Move To The Cloud? from Forrester for US$279. Here’s his rather negative opinion of Azure in the executive summary:

With the announcement of the Azure Services Platform at the Microsoft Professional Developers Conference, new attention has been focused on Windows and its fit with cloud computing. But this interest may be misdirected, as Azure is more interesting today as a new development opportunity than as a Windows deployment option. The truly viable opportunity for Windows applications in the cloud rests with infrastructure-as-a-service cloud computing platforms such as Amazon Elastic Compute Cloud (EC2) and GoGrid. Building off traditional ISP hosting of Windows applications, cloud computing platforms are maturing quickly and deliver a hypervisor-based infrastructure that scales easily while delivering dramatically lower costs that more closely match true consumption. Firms should consider these new deployment options in their server consolidation planning.

Sys-Con’s Cloud Computing Journal is a new online magazine dedicated to cloud computers.

Geva Perry and James Urquhart Overcast Show #5 with Lew Tucker, Cloud CTO at Sun. James is a former Sun employee and currently is market manager for the Data Center 3.0 strategy at Cisco Systems and CNet Blogger. His Can Sun rise to the cloud-computing challenge? post of 12/16/2008 offers the following observation on Dave Douglas’s and Lew Tucker’s presentation “about Sun's interpretation of the cloud market, and Sun's potential place in it”:

So for Sun to simply say, "hold on, we're working on it"--in a simple Web event, for that matter--risks being a bit boring.

David Pallman’s New on CodePlex: AzureLiveID 12/14/2008 and Windows Live ID Authentication for your Azure Web Site, Part 1 12/13/2008 describe how to implement Live ID authentication for Azure Web apps. Dave is the admin for the Azure Cloud Computing User Group’s Web site.

Mike Amundsen describes Azure Tables Atom Feeds Missing Elements in his 12/14/2008 thread in the Windows Azure forum. Mike and Microsoft’s Jai Haridas appear to have a difference of opinion about what elements and values the Atom spec requires.

David Strom’s Making sense of Microsoft's Azure of 11/6/2008 and Neil McAlister’s Cloud computing isn't all azure skies of 10/30/2008 articles for InfoWorld cast a jaundiced eye on Microsoft’s Azure initiative.

SQL Server Compact (SSCE) 3.5 and Sync Services

No significant posts are available as of 12/17/2008 8:00 AM PST.

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

••• Guy Burstein’s Getting Started with ASP.Net MVC Framework and Anatomy of an ASP.Net MVC Application posts of 12/20/2008 show you how to create from scratch a simple MVC project that displays a “Hello Guy” page.

••• John Papa provides a heads-up about DataGrid fixes and breaking changes in his Updated Silverlight 2 DataGrid Available post of 12/20/2008.

Aaron Skonnard’s Screencast: Configuring services with behaviors of 12/19/2008 shows “you how to configure WCF services with behaviors, which will allow you to customize different aspects of the runtime execution ‘behavior’.”

Scott Guthrie announces a new ASP.NET MVC Design Gallery and Upcoming View Improvements with the ASP.NET MVC Release Candidate on 12/19/2008. View improvements include:

  • Views without Code-Behind Files
  • Top-Level Model Property on Views
  • HTML/AJAX Helpers Now Enable Expression Syntax
  • Scaffolding Support
  • MSBuild Task for Compiling Views

Scott says:

The scaffolding support enables the automatic generation of views against any .NET type or object - meaning it can work against POCO classes, LINQ to SQL, LINQ to Entities, NHibernate, SubSonic, LLBLGen Pro, or any other object model. The scaffolding engine uses reflection to retrieve the public shape of a View's model type, and then passes it to a scaffolding template to populate appropriate markup based on it within the view being created.

Rick Strahl’s Removing the .SVC Extension from WCF REST URLs post of 12/15/2008 explains how to specify a UriTemplate that lets you “customize the way the URL looks when accessing the endpoint.”