Support for a new Expand extension method to do eager loading via the LINQ interface. (The Expand method is similar to Entity Framework's Include method.)

Finally, using the Expand extension method, I implemented the IExpandProvider interface to allow for expansions via the REST API.

Shawn promises:

In addition, I'll be finishing up my discussion of implementing the IUpdateable interface pretty soon to help those of you adding this support to your projects. I'll also be blogging about how I added the IExpandProvider to help those of you trying to add that to your projects (or even to LINQ to SQL).

ASP.NET Dynamic Data fills a great void for developing forms-over-data web applications. I used it to build a quick intranet application for a client and they couldn't be any happier. …

The ASP.NET Dynamic Data Runtime and Template Release on 7/18 fixes bugs in primarily the Dynamic Data Wizard. The ASP.NET Dynamic Data for MVC Preview shows off how to incorporate the wonderful scaffolding of Dyamic Data with the ASP.NET MVC Framework.

NHibernate was a tough curve for me. Initially, I started testing code generators. After spending a significant amount of time reading, testing, and pulling out hair I came to the conclusion that NHibernate code generation is still not there. …

Finally, get NUnit running. I had a lot of problems using the built in Microsoft Test projects with NHibernate - so I'll be sticking with NUnit. If you've never done unit testing (you know who you are) do it. Particularly in this case - its crucial.

LINQ with the Entity Framework looks really cool and I've used it for some small research/test projects recently, but with the lack of support for database other than SQL server - it's not an option at this time.

I do not disagree with Mike that one of the core values of SSDS is its simplicity. It is a tribute to the team that they have been able to keep it simple for developers to approach and use right away. I appreciate Mike's concern that aligning SSDS with Astoria could make SSDS lot more complicated. As I said in my response, the alignment does not mean that we are ditching the flex entity model. Once we release the aligned service, as a developer you will have a choice of staying with the flex entity model or add schemas where it makes sense to add schemas. We hope to provide this capability at the container level so you can choose to:

a. Keep all entities as flex entities b. Keep all entities as typed entities c. Have both typed and untyped entities and type entities with open or flex properties

The side effect is that the Astoria client library then becomes the default client library for developers to build their applications in Visual Studio. Still does not solve the problem of client libraries for Java, Ruby and PHP. I still got those on my plate to address.

I’ll be interested to see how the team handles untyped, freeform (flex) entities combined with typed entities with a schema.

Tim Mallalieu Delivers a Preview of POCO for Entity Framework v2

Tim’s Look Mom... no XML post of July 18, 2008 announces the the Entity Framework team “has just wrapped up” its first iteration of v2 and says:

We are shooting to get another iteration in before PDC and are still working on how we can get early bits out to customers outside of the rhythms of the CTP's and such.

One of the nifty things in our first iteration, though, was some of the work that we did around POCO. There is a lot more to be done with POCO, we need to still deliver lazy load, value objects and more. With these bits, however, it is possible to write basic POCO code now.

He then goes on to describe use of the ContextFactory.CreateContext() method to create the Context and a POCO Product class and a Products ObjectQuery. Tim explains:

The entry point for being able to use this code without artifacts is the ContextFactory. The ContextFactory reflects over the Context type that one wrote by hand. It looks for all properties of type ObjectQuery<T> and then uses these to define an in-memory representation of the models (conceptual, store, mapping) which are then passed to the metadata infrastructure.

Having the EF in the market creates noise for [Scott and his compatriots] because it becomes a technology choice between a Microsoft product that does not yet address this school of software development and open source solutions that do.

Developers who’ve invested a substantial amount of time into Test-Driven Development (TDD), Domain-Driven (and now Behavior-Driven) Design (DDD and BDD) have the expected paranoia toward a heavily promoted Microsoft contender in the object/relational mapping (O/RM) tool market. At the very least, these folks will need to explain to current and prospective clients why they don’t use EF. At the worst, all-Microsoft shops might insist they use EF.

Tim promises:

I shall attempt to make a series of posts leading up to and following the advisory council where I go into a bit of the history and future. This will not yield a decision matrix for a developer but it may be interesting for folks.

Fausto Ibarra Talks Up ADO.NET Entity Framework

Fausto is the new Director of Product Manager for SQL Server, replacing Francois Ajenstat who’s moved to greener pastures in Microsoft’s green initiatives, according to Q&A: Fausto Ibarra Takes SQL Server Reins by Jeffrey Schwartz.

Here’s the Q & A on the Entity Framework Front from the July 16, 2008 article in Redmond Developer News:

Will you be coordinating this with the release of Service Pack 1 of Visual Studio 2008 and the .NET Framework and the Entity Framework? We are coordinating them. The Entity Framework will ship with .NET Framework 3.5 SP1 and it will ship roughly at the same time as SQL Server. When we talk about the Entity Framework, we talk about it from the perspective of SQL Server and from the perspective of the .NET Framework and Visual Studio. No matter where developers are coming from, we will talk to them about the Entity Framework and coordinating the messaging of both releases across all our different developer channels, like MSDN. [Emphasis added.]

The article also describes LINQ to SAP’s graphical designer for Visual Studio 2008, which adds a LINQ to ERP template and autogenerates classes for SAP objects in a manner that’s vaguely similar to LINQ to SQL.

In this interview video at Tech*Ed 2008 IT Pro by Paul Nielsen posted July 17, 2008, SQL Server architect-evangelist Denny Boynton stresses the importance of the hands-on project data architect, in addition to the more common enterprise data architect.

From the official description:

Some shops say architects should be hands off, other expect the data architect to be involved in projects – how do we resolve this issue? And if the data architect is involved in projects, what’s the best he or she can contribute? How do we measure quality of a database project? We believe there are six attributes of a database. This talk will cover these attributes and the practices that best contribute to these qualities.

If you think Microsoft’s been spending like crazy in the online space, you ain’t seen nothing yet. (And that’s not counting when or if Microsoft’s multi-billion-dollar bid for Yahoo’s search business is ever consummated.)

However, Microsoft officials told Wall Street analysts not to expect Microsoft to change its OSB investing-for-the-longhaul strategy any time soon. Microsoft is planning to step up its online spending around driving usage of Live Search and growing its advertiser base for its adCenter online-ad platform.

Marcin Dobosz Announces ASP.NET Dynamic Data Futures Update

Added ImprovedDynamicValidator control that fixes issues with DynamicValidator correctly catching exceptions thrown off a validated data model object. A tag mapping in web.config is used to automatically replace all instance of DynamicValidator with ImprovedDynamicValidator. This validator is also now added to the ForeignKey_Edit template.

Added EnumDataTypeAttribute that can be used to mark integral columns as actually representing enumerated CLR types.

Modified the Enumeration field template and filter template to take EnumDataTypeAttribute into account.

Modified the Enumeration filter template to detect if an enum is in flags mode and display a CheckBoxList instead of a DropDownList.

Added validation to the DbImage_Edit template. It now verifies that the provided file is a valid image and also that a file is provided at all if the column is required.

Added constraints to routes to illustrate how to block invalid requests.

Phani and Marcelo’s Set Based Operations in ADO.NET Data Services post of July 17, 2008 includes the complete source code for an extension method to facilitate set-based methods with a dynamic filter predicate. The post also includes a usage example.

Daniel Simmons is dev manager for the Entity Framework and LINQ to SQL team where his mission is to build a team and a product that will fundamentally change the way we build data-centric software. He has been at Microsoft for 10 years working on a variety of products. Before coming to Microsoft he worked as a consultant, founded an ISP and engaged in various other software pursuits.

Google’s Joe Gregorio is Google’s “main man” on the Atom Publishing Protocol (AtomPub, APP) that’s one of the wire protocols for ADO.NET Data Services and is schedule for support by SQL Server Data Services.

This 9-minute video covers the basics of AtomPub’s Create, Retrieve, Update and Delete operations, adding media, and other topics. Surprisingly, the code is readable.

Wriju Publishes LINQ to SQL Bibliography Update

From the “How Did I Miss This?” Department

His LINQ to SQL : Missing Manual are at MSDN post of July 3, 2008 shows that UserEd has been working overtime on LINQ to SQL topics. The post contains 18 links to MSDN library topics about LINQ to SQL; each topic includes a brief description.

The dual Web role application has been running in Microsoft's South Central US (San Antonio) data center since September 2009. I believe it is the oldest continuously running Windows Azure application.

About Me

I'm a Windows Azure Insider, a retired Windows Azure MVP, the principal developer for OakLeaf Systems and the author of 30+ books on Microsoft software. The books have more than 1.25 million English copies in print and have been translated into 20+ languages.

Full disclosure: I make part of my livelihood by writing about Microsoft products in books and for magazines. I regularly receive free evaluation software from Microsoft and press credentials for Microsoft Tech•Ed and PDC. I'm also a member of the Microsoft Partner Network.