Showing posts with label LINQ to MSI. Show all posts
Showing posts with label LINQ to MSI. Show all posts

Tuesday, June 24, 2008

LINQ and Entity Framework Posts for 6/23/2008+

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

Initial Entity Framework POCO DesignFeature 1-Pager  on Entity Framework Design Blog

True to his word, Tim Mallalieu posted on June 24, 2008, an Initial POCO Design 1-Pager which was intended to be an “Initial POCO Feater 1-Pager.”

The post starts with a Part 1 Overview that lists Jimmie Nilsson’s six requirements/assumptions that are verboten in a persistence ignorant design.

Part 2 Context reiterates that POCO support in v2 would require abandoning the IEntityWithRelationships and IEntityWithChangeTracking interfaces and POCOs can’t use attributes to map object members to the conceptual schema.

Part 3 Design shows classes for Customer and Order entities with a 1:many relationship between them.

O-Space to C-Space mapping is done by convention – i.e. the CLR types of the entities below map to the corresponding entities already defined in the Conceptual Model.

Code for the POCO partial classes for such entities is shown, together with a sample query and addition of a pair of entities. So far, it looks like POCO to me.

Added: 6/24/2008

Tim Mallalieu Addresses “ADO .NET Entity Framework Vote of No Confidence” Manifesto

In the tradition of Émile Zola’s “J'accuse” and Martin Luther’s The 95 Theses letters, the ADO .NET Entity Framework Vote of No Confidence petition in the form of a WuFoo form with attached Entity Framework Vote of No Confidence Signatories table had gathered more than 150 signatures by mid-afternoon on June 24, 2008.

It’s certain that Mary Jo Foley’s Testers give Microsoft’s Entity Framework a no-confidence vote post of the same date was responsible for the rapid increase in signatories during the afternoon.

Read all about the manifesto and Tim’s Vote of No Confidence reply in this full-length post.

Update 6/25/2008: Mary Jo’s column hit Techmeme on 6/24/2008 at 4:45 PM. My favorite comment to her column: “I'm not a tester: I've never installed nor tested an Entity Framework beta, but I signed the vote of no confidence” by odenni.

The manifesto had 226 signatories by 6/25/2008 at 8:30 AM.

Added: 6/24/2008 1500 PDT

New Entity Framework Design Blog Announces Transparent v2 Design Process

Tim Mallalieu’s first post since taking over as Entity Framework (EF) program manager in the Autumn of 2007, Transparency in the design process of June 23, 2008, describes what’s in store for EF v2:

  • Persistence Ignorance (PI) and Plain Old CLR Objects (POCO
  • N-Tier Support for remoting object graphs with change tracking using WCF
  • Code-First domain modeling instead of v1’s data-centric, forms-over-data approach
  • Test-Driven Development (TDD) Scenarios with POCO
  • Foreign Key modeling support in addition to associations
  • Lazy Loading options, possibly implicit lazy loading
  • Query Tree Re-Writing to filter query results horizontally and vertically

Tim is adopting Pablo Castro’s transparent design process for ADO.NET Data Services (Astoria), which I recommended to the SQL Server Data Services (SSDS) team last week.

For the full story see the New Entity Framework Design Blog Announces Transparent v2 Design Process post of 6/24/2008.

Added: 6/24/2008 and moved to a separate post.

Scott Hunter Explains How to Integrate Dynamic Data Pages with an Existing ASP.NET Web Application

Scott’s earlier post, reported in the “Scott Hunter Demonstrates Integrating Dynamic Data with an Existing ASP.NET Site” topic below covers integrating ASP.NET Dynamic Data with file-system Web sites.

His How to add Dynamic Data to an Existing Web Application sequel of June 24, 2008 covers conventional ASP.NET Web applications.

The process is a bit different for Web apps because you use Project Explorer’s Add Reference feature to add the System.ComponentModel.DataAnnotations, System.Web.Abstractions, and System.Web.DynamicData and System.Web.Routing namespaces.

Scott notes that you also must conform namespaces in the Dynamic Data code-behind files you add.

Added: 6/24/2008

Jaroslaw Kowalski Posts a “Not for Production” Entity Framework Provider for Oracle

Jarek’s Sample Entity Framework Provider for Oracle post of June 23, 2008 describes an entity provider similar to the EFSampleProvider but targets System.Data.OracleClient instead of System.Data.SqlClient.

Some interesting non-default type mappings:

  • EFOracle.number(1,0) maps to Edm.Boolean
  • EFOracle.number(5,0) maps to Edm.Int16
  • EFOracle.number(11,0) maps to Edm.Int32
  • EFOracle.raw(16) maps to Edm.Guid

Jarek says the following about Canonical Functions:

Most Canonical Functions required by Entity Framework have been implemented using Oracle's built-in functions. In some cases it required some query rewriting, such as when handling Right() canonical function which has no direct Oracle translation and SUBSTR() must be used instead.

Danny Simmons’ Items of Interest: Sample Oracle Provider, Transparent Design Process post of June 24, 2008 points out:

I should stress that this is a sample not an official supported Oracle provider from Microsoft, but it is designed to help provider writers learn more about building providers for the EF, as well as to highlight some of the particular challenges encountered in briding between the EF's view of the world and that of Oracle, to fully demonstrate the provider-agnostic nature of the EF, etc.

Added: 6/24/2008 1000 PDT

Justin Etheredge Starts Two-Part Series about LINQ Expression Trees

Justin’s Dissecting Linq Expression Trees - Part 1 post of June 23, 2008 explains why LINQ expression trees are called Abstract Syntax Trees (ASTs) and explains why they are handy for:

  1. Tree modification before execution - You can actually modify the tree before it is compiled. You could join operations or simplify the tree before compiling it.
  2. Combining trees: This is in line with number 1, but you can take multiple expression trees and combine them using new Expression tree nodes. (Yes, you can manually generate these, and we will get into those later on)
  3. Alternate Execution: You can take an expression tree and interpret it and execute it in your own manner. This is precisely what LINQ To SQL does. It takes an expression tree and interprets it, then turns it into SQL instead of runnable MSIL

This post covers items 1 and 2. Part 2 will cover item 3.

 Added: 6/24/2008 1015 PDT

Mike Pizzo to Push Entity Framework and ADO.NET Data Services Tuesday at Sys-Con’s SOA World Conference & Expo in the Big Apple

The SOA World Magazine News Desk ran this somewhat redundant LINQ, Entity Framework and ADO.NET Entity Framework and Data Services for the Web head for a story about a presentation by the ADO.NET Data Programmability Group’s Principal Architect, Mike Pizzo, to the 13th International SOA World Conference & Expo 2008 East at the Hotel Roosevelt in New York City.

Strangely, Mike’s presentation is missing from the “Speakers/Sessions from Industry-Leading Companies” list on the SOA conference’s main page. It turns out that he’s speaking at Data Services World at SOA World 2008. Another case of you can’t tell the conferences from one another without a program.

Added: 6/23/2008 1710 PDT

Update 6/24/2008: I assume that Mike is announcing the the Entity Framework v2 transparent design program a the conference.

Mike Kaufman Tackles Model and Code Generation in Episode 2 of the Entity Framework Tools Series

Mike’s EDM Tools | Options (Part 2 of 4) post of June 23, 2008 describes how to use EdmGen.exe to generate the CSDL file with the EntityStoreSchemaGenerator object and the MSL/SSDL files with the EntityModelSchemaGenerator, as well as EntityClassGenerator to generate the partial entity classes. The post includes a link to download the related source code.

The next and final episode will take on validation and view generation.

Scott Hunter Demonstrates Integrating Dynamic Data with an Existing ASP.NET Site

Few sites that use ASP.NET Dynamic Data will consist solely of scaffolded pages. Scott’s How to add Dynamic Data to an Existing Web Site post of June 23, 2008 provides detailed, step-by-step instructions for integrating scaffolded pages into an existing ASP.NET site. The process involves:

  1. Creating a dummy ASP.NET Dynamic Data Web site and copying the DynamicData folder as well as Site.css and Site.master files to the existing project.
  2. Copying the Global.asax file to the existing site or add the model registration and routes to an existing Global.asax file.
  3. Modifying Web.config’s <compilation>, <pages>/<controls>, <httpModules> or <system.webServer>/<modules> sections.
  4. Registering your data model (LINQ to SQL, Entity Framework, LLBLGen Pro, etc.) and, optionally, enabling scaffolding.

Scott notes:

We hope to add a tooling gesture to Visual Studio in the future to automatically do these steps. Once these steps are complete you can start taking advantage of Dynamic Data functionality in your existing applications.

A Wizard dialog to handle the preceding steps sounds like a good idea to me.

Bart De Smet Continues His LINQ to MSI Implementation by Adding “Fluent Classes”

In his LINQ to MSI - Part 2 - Queryable without an I post of June 23, 2008, Bart introduces “a series of ‘fluent classes’ that provide a limited query pattern.” Topics of the lengthy article are:

  • The query provider
  • Representing tables
  • The built-in query pattern
  • Query data
  • Back to the Table<T>
  • Query, OrderedQuery and ClosedQuery
  • Known limitations

Bart’s next post will cover query translation.

Jim Wooley Explains How to Emulate Dynamic SQL with a Stored Procedure for Retrieving Associated EntitySets and EntityRefs

Jim’s Fetching child records using Stored Procedures with LINQ to SQL Post of June 23, 2008 shows how to write methods of the DataContext’s partial implementation to return EntitySets or EntityRefs from associated entities.

He also reminds those who’ve forgotten: LINQ is not about working with databases

John Papa Provides a Handy Cheat-Sheet for Silverlight 2 Data Binding Modes

His Sivlerlight 2 Binding Modes Diagram from his forthcoming Data Access with Silverlight 2 book illustrates how OneTime, OneWay, and TwoWay data bindings behave.

Monday, June 16, 2008

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

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

Updated 6/15/2006 and 6/16/2006.

Illustrated Walkthroughs for Creating Web Apps and Web Sites with ASP.NET Dynamic Data

ASP.NET Dynamic Data projects come in two flavors:

  1. Dynamic Web applications or file-based Web sites that use either the Entity Data Model or LINQ to SQL as their data model.
  2. Static (Custom) Web sites that you create with the Dynamic Data Wizard. These sites currently are limited to LINQ to SQL only as their data source.

My forthcoming “Scaffold Web Apps with ASP.NET Dynamic Data” article for Visual Studio Magazine includes walkthroughs for creating the preceding two project types with Northwind as the backing database.

Publishing limitations precluded step-by-step screen captures, so I created two posts to illustrate the process:

  1. Dynamic Web application: ASP.NET Dynamic Data: Generate a Dynamic Administrative Web App from an Entity Data Model in Less than Five Minutes
  2. Static Wizard-generated Web site: ASP.NET Dynamic Data: Scaffold a Custom Administrative Web Site with a LINQ to SQL Data Model in Less than Five Minutes

An obvious drawback to the Wizard-generated site is lack of DynamicFilter dropdowns for filtering on EntityReference (foreign key) values.

Added: 6/15/2008

David Ebbo Explains ASP.NET Dynamic Data’s Handling of Foreign Keys in Scaffolded Dynamic Controls

David discusses how ASP.NET Dynamic Data displays EntityReferences from foreign keys in his Understanding foreign keys and relationship columns in Dynamic Data post of June 13, 2008. The discussion applies to grids and details views with Entity Data Model and LINQ to SQL as data models.

As David mentions, foreign key values (usually integers) appear when you use LINQ to SQL as the data model. The Entity Data Model replaces foreign key with Navigation Properties (EntityRefs.)

One reason folks become confused about foreign-key handling is that Dynamic Data requires LINQ-enabled data sources, such as the LinqDataSource and EntityDataSource, which implies using object terminology (e.g., classes, types, associations, entities, entity sets, entity references, etc.). This usage conflicts with relational terminology (primary and foreign keys.) The help files and blog posts have a tendency to favor the relational (data) dialect.

Mike Taulty Tackles Implementing IUpdatable() for LINQ to SQL DataContexts Backing ADO.NET Data Services

Mike’s ADO.NET Data Services - IUpdatable on LINQ to SQL post of June 14, 2008 discusses four possibilities for creating an updatable LINQ to SQL data model for use with ADO.NET Data Services. His final choice (#4) requires the developer to derive from <T> manually, as is the case with ADO.NET Data Service’s Web services.

Note: The Data Programmability group’s failure to update LINQ to SQL with an IUpdatable implementation is one more nail in the product’s coffin. (I neglected to mention this issue in my Is the ADO.NET Team Abandoning LINQ to SQL? post of May 23, 2008.

asp.netPRO Magazine’s June Issue Carries an ASP.NET Dynamic Data Article That’s Ina Finally Accessible Online

The aspnetNOW nesletter for June 12, 2008 says the “ASP.NET team's own Marcin Dobosz and Scott Hunter provide an introduction to Dynamic Data,” and “the June issue of asp.netPRO is now available as a FREE PDF.“

The problem is that it isn’t available. The asp.netPRO folks forgot to renew their NetworkSolutions domain registration, which expired on June 8, 2008.

When (and if) they get their domain registration problems straightened out, I’ll add a new blurb.

“An Introduction to ASP.NET Dynamic Data: Rapidly Create Rich Data-Bound Sites” is now accessible at http://www.aspnetpro.com/PDF/Issues/aspJUNE2008.pdf.

Bart De Smet Posts First Episode of His LINQ to MSI Implementation

Bart says in his LINQ to MSI - Part 1 – Interop post of June 13, 2008:

So, in this post of this series we'll take a look at some very simple MSI interop, giving us a basic data provider for MSI databases, mirrored after the typical structure of .NET data providers like System.Data.SqlClient.

And then goes on to discuss:

  • Interop signatures
  • Respecting well-known patterns
    • The connection
    • The command
    • The data reader
  • Sample

He adds a postscript to the preceding post in LINQ to MSI - Part 1 bis - Interop with SafeHandles of June 14, 2008.

Mike Taulty Diagnoses DataSvcUtil’s Namespace Errors When Creating Web Service Proxies

Mike solve issues with “The 'Namespace' attribute is invalid - The value ''  is invalid according to its datatype 'http://schemas.microsoft.com/ado/2006/04/’” errors in his ADO.NET Data Services and LINQ to SQL - Errors Generating Proxy Code with DataSvcUtil.exe post of April 13, 2008.

Matthieu Mezil Illustrates Use of AsEnumerable() That Mystifies Me

Matthieu’s AsEnumerable: not only to use unsupported methods post of June 13, 2008 discusses the differences in the results of a pair of complex LINQ to SQL queries whose primary distinction is use of AsEnumerable() to solve a problem obtaining Northwind Order instances with OrderDates in 1998 having French customers together with their Customer instances.

So I wrote the following relatively simple query that returned what I thought Matthieu was after:

from o in Orders
where o.OrderDate.Value.Year >= 1998 && o.Customer.Country == "France"
select new {Order = o, Customer = o.Customer};

The result of the above query in LINQPad and SQL Server Management Studio appear in my Matthieu Mezil Illustrates Use of AsEnumerable() That Mystifies Me post of June 14, 2008. The post also includes results of running Matthieu’s T-SQL batches which 1) return all 270 orders for 1998 or 2) are a LEFT OUTER JOIN of all 1998 orders with 23 French Customer records.

I’m sure I must be missing a point, but I don’t know what it is.

Update 6/15/2008 1600 PST: Adding AsEnumerable() causes immediate execution of the inner query which returns and OUTER JOIN resultset of 270 rows. Local (client-side) filtering reduces the number of rows to 23. Use of AsEnumerable() in this case unleashes bad mojo. See Matthieu’s comment and the second Update.

Eugenio Pace Posts a New SQL Server Data Services Sample: A Provider for BlogEngine.NET

Eugenio’s Another SSDS sample: BlogEngine.NET on SSDS post of June 11, 2008 describes his SQL Server Data Services (SSDS) provider’s source code for the BlogEngine.NET 1.3.1 ASP.NET blog project as follows:

  1. The SSDS based BlogProvider
  2. An SSDS based Membership & Role Providers for the web site
  3. Unit tests for all (with about 93% coverage for the provider)
  4. A simple tool for pre-loading the SSDS container with information that BlogEngine needs to start

He also says “The new SSDS BlogProvider also uses patterns & practices Unity application block to wire up dependencies.”

It’s related to the SSDS demo in Bill Gates’ Tech*Ed keynote and definitely worth a trial run.

Repeated from LINQ and Entity Framework Posts for 6/9/2008+ due to its importance.

Saturday, June 07, 2008

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

Tech•Ed Special: Daily posts during Tech•Ed Developers 2008 and possibly thereafter will be updated top-down during the day

Updated 6/7/2008: See Added and Updated posts below about SQL Server 2008 RC0, LINQ to SQL Partial Classes by Dinesh Kulkarni, LINQ to MSI from Bart De Smet, the Silverlight 2 Beta 2 release by Scott Guthrie, and a welcome extension method for the ObjectContext’s Include() method by Julie Lerman.

Updated 6/6/2008: See Added posts below about Silverlight 2 Beta 2 documentation by John Papa, Velocity by Dare Obasanjo, the JScript Date type by Marcelo Diego Vega, SubSonic progress by Rob Conery, and default values for ASP.NET Dynamic Data by Steve Naughton.

Aghy Moves LINQ4SP (LINQ for SharePoint) Download Site

According to her Important: LINQ4SP site moved! post of June 7, 2008, the new download site is here. I’ll correct the previous posts about LINQ4SP shortly.

Added: 6/7/2008

Julie Lerman Beat Me to a Post about Matthieu Mezil’s Extension to the ObjectContext’s Include() Method

So I’ll just link to Julie’s A better Include method for eager loading in Entity Framework? post of June 6, 2008.

I agree with both Mathieu and Julie that EntitySet and EntityType names as strings in EF is a bummer; his extension method replaces the string with a simple lambda function.

Update: A couple of hours later, Matthieu posted Entity Framework Include with Func next, which extends the preceding syntax to enable adding associated EntitySets to the Include() method:

context.Categories.Include(ca => ca.Products.Include<Products, Order_Details>(p => p.Order_Details).Include<Order_Details, Orders>(od => od.Orders))

Matthieu asks: “Isn’t it cool?”

Yeah, Matthieu, way cool!

Added: 6/7/2008

SQL Server 2008 RCO Available to MSDN and TechNet Subscribers

The Platform Insiders blog’s SQL Server 2008 RC0 now available for subscribers post of June 7, 2008 announces:

SQL Server 2008 RC0 has been made available for early download by MSDN and TechNet Plus subscribers. RC0 is the final step before SQL Server 2008 RTMs in Q3 of this year. After logging into their respective accounts, subscribers can view Product Keys and download SQL Server 2008 RC0 from the following links:

According to the Data Platform Insider's SQL Server 2008 RC0 Available for Everyone post of June 10, 2008, Bob Muglia announced at Tech*Ed that everyone can download the RC0 and it's Wha'ts New notes from:

  • Download SQL Server 2008 RC0
  • What's new in SQL Server 2008
  • Added: 6/7/2008 Updated: 6/10/2008

    Dinesh Kulkarni Recommends When to Use and How to add LINQ to SQL Partial Entity Classes

    His LINQ to SQL Tips 8: How to (and why) create a partial class in the designer to augment generated code. He also offers this tip about autogenerating a partial class for an entity:

    Right click on the design surface and click "View code" (don't ask me why that name was chosen for creating a new partial class). If I do that for Northwind.dbml (file opened in the designer), I get a Northwind.cs at a peer to Northwind.designer.cs.

    That’s a new one for me; thanks Dinesh.

    Added: 6/7/2008

    Bart De Smet Introduces LINQ to MSI

    Bart’s LINQ to MSI - Part 0 – Introduction of June 6, 2008 starts a series on the development of a LINQ to MSI implementation that doesn’t use the IQuerable interface. As Bart says, “MSIs are just little databases.”

    Added: 6/7/2008

    Danny Simmons Updates Entity Framework FAQ to v0.6

    Following are links to the updated and new topics in v0.6:

    Added: 6/6/2008

    Matt Berseth Offers Upgraded Grouping Grid Skins for an ASP.NET ListView Control and the LinqDataSource or EntityDataSource

    Ace server and AJAX control developer Matt Berseth has reskinned his grouping grid with CSS only as described in his 4 New Grouping Grid Skins: Vista, Bold, Win2k3 and Soft post of June 5, 2008. Here’s the Vista version:

    You can run a live demo here in Matt’s new ASP.NET Grouping Gallery.

    I haven’t tested the list control with the EntityDataSource, but I believe it should bind with little or no modification.

    Added: 6/6/2008

    David Sceppa Reports on Chalk Talk for Entity Framework Provider Writers

    Dave’s Entity Framework Provider Updates post of June 5, 2008 reports:

    The theater was so full with attendees that we ran out of seats. Representatives from DataDirect, IBM, Oracle and Sybase were in attendance.  Over the course of the chalk talk, we addressed a number of general questions before attendees spoke directly with the representatives from the various provider writers. DataDirect announced that they will release an update to their Oracle ADO.NET provider to support the Entity Framework in Q3 of 2008. Both IBM and Sybase demonstrated their provider's accessing their data stores via the Entity Framework.

    Perhaps Oracle has changed their collective mind and intends again to offer an Entity Framework-enabled version of OracleClient.

    John Papa Delivers a Primer on Silverlight 2 Databinding

    John’s detailed Data and Silverlight 2: Data Binding article dated June 5, 2008 for Red Gate Software’s Simple-Talk site is an excerpt from his forthcoming Silverlight 2 Data Binding book for O’Reilly.

    The Beta 2 data binding enhancements described in this What's new in Silverlight 2 Beta 2? post of June 4, 2008 by Silverlight project manager David Pugmire greatly increase the prospects for the use of Silverlight with line of business forms.

    Added 6/6/2008: John’s Silverlight 2 SDK Beta 2 Documentation post of June 5, 2008 announces that the docs are available here. It’s not at all common for Microsoft to release SDK docs before the corresponding runtime, so I assume we can expect the runtime and SDK with the Go Live license later today.

    Updated 6/7/2008: Sure enough. Scott Guthrie’s Silverlight 2 Beta2 Released post of 6/6/2008 (7:50 PM PST) announces the availability of the download of Microsoft Silverlight Tools Beta 2 for Visual Studio 2008, which installs:

    • Silverlight 2 Beta 2
    • Silverlight 2 SDK Beta 2
    • KB950630 for Visual Studio 2008 RTM or KB950632 for Visual Studio 2008 SP1 Beta
    • Silverlight Tools Beta 2 for Visual Studio 2008

    The preceding bits work with .NET 3.5 SP1 Beta 1.

    Silverlight Tools Beta 2 for Visual Studio 2008 includes:

    • Visual Basic and C# Project templates
    • Intellisense and code generators for XAML
    • Debugging of Silverlight applications
    • Web reference support
    • WCF Templates
    • Team Build and command line build support
    • Integration with Expression Blend
    • Enhanced Setup with upgrade support

    Updated 6/7/2008:John Papa’s What’s New in Silverlight 2 Beta 2 Tools post of June 6, 2008 hightlights these new features from Mike Snow’s detailed and fully illustrated What’s new with Silverlight Tools Beta 2! post:

      • There is much new added support for debug vs release builds of XAP’s. This includes:
      • You can now add a Silverlight 2 ready WCF project from a project template
      • When converting a project from Beta 1 to Beta 2, you will be prompted for conversion confirmation
      • XAML now reports error. Woohoo!!! (yes, I am easily satiated)

    Install Expression Blend 2.5 June 2008 Preview requires a separate installer.

    Updated 6/7/2008:Mike Tulty and Mike Ormond have updated their 52 screencam episodes on Silverlight development. Mike Taulty’s Silverlight 2 Beta 2 Available plus Refreshed Screencasts post of June 7, 2008 has links to the updated player and files.

    Josh Heyse Extends the LinqDataSource to Support a Richer DynamicFilterRepater for ASP.NET Dynamic Data

    Another from the How Did I Miss This? department: Josh, who’s a developer for Catalyst Software Solutions in Chicago, wrote a four-episode series about A Richer DynamicFilterRepeater for ASP.NET Dynamic Data.

    The project grew out of Josh’s desire to use the feature on a new RAD Web site project:

    The project is a short duration web site with fairly standard data entry, searching, and detail views. The Dynamic Data Framework fit the requirements well except that the dynamic searching controls did not have the required features needed for the project. I started investigating how hard it would be [to] add the following search features:

    • Searching ranges (ListPrice > 10 AND ListPrice < 500)
    • Searching in a list of possible values (Class in (‘L’, ‘M’))
    • Partial text searching (Color LIKE ‘B%’)

    Here are links to his initial four posts:

    Josh updated the code to the April 2008 release and added a ColumnContains control with these two posts:

    Josh made the following comment in the ASP.NET Dynamic Data forum about the development time saving gained by using ASP.NET Dynamic Data:

    I believe .. Dynamic Data in conjunction with LINQ-to-SQL reduced our development time by about 40%. [Emphasis added.]

    A nice vote of confidence for this new ASP.NET RAD feature.

    Parallel Extensions Team Produces Two-Part Channel9 Video Series on Parallel Fx

    The deck for the series says:

    Here, we meet some of the key engineers of the Microsoft Parallel Computing Platform (which includes the Parallel Extensions for .NET...): Lead Developer Joe Duffy, Developer Huseyin Yildiz, Developer Igor Ostrovsky, Program Manager Stepehn Toub and Program Manager Ed Essey.

    We dig deeply into a lot of topics related to parallelism and conconcurency and how the new additions to the platform enable developers to exploit multi/many core processors in an elegant way.

    Following are links to the two episodes:

    PLINQ and Parallel Fx Ray Tracing Demos Included in June 2008 Parallel Extensions CTP

    The Parallel Fx June 2008 CTP includes two additional ray tracing sample built on the two original ray tracers developed by Luke Hoban and described in the "Luke Hoban Gets the Most Complex LINQ Query Award (and PLINQ Compatibility)" topic of my LINQ and Entity Framework Posts for 10/2/2007+ post.

    You can read more about the new samples in the Parallel Fx team’s Ray Tracer samples in the June 2008 CTP post of June 5, 2008

    Managed Extensibility Framework for Dependency Injection/IoC CTP Released to Code Gallery

    Here’s how the Code Gallery Home page for the Managed Extensibility Framework describes the June 4, 2008 release:

    The Managed Extensibility Framework (MEF) provides developers with a tool to easily add extensibility to their applications and with minimal impact on existing code. The application developer can define extension points according to the functionality required of an extension, while the extension developer uses those points to interact with the application.

    MEF enables this extensibility to take place without creating a hard dependency in either direction. Applications can be extended at run time without recompilation, and extensions can be used by multiple applications sharing the same extension requirements. MEF also allows an application to delay the loading of an extension while still examining its metadata, enabling efficient traversal of large catalogs of extensions.

    In other words, it’s a Dependency Injection Pattern/Inversion of Control Container for .NET.

    Steve Naughton Provides SQL Server 2005 Versions of His ADO.NET Dynamic Data Attribute-Based Permission Series

    You can download an archive with either SQL Server 2005 or 2008 from Steve’s new Update to Visual Studio 2008 Project Files post of June 5, 2008. The original files required SQL Server 2008.

    Added 6/6/2008: Steve’s DynamicData ForegnKey_Edit Default Values post of June 6, 2008 shows two approaches to providing Insert forms with default values for foreign key values.

    Nithya Sampathkumar Outlines Velocity STP1 Features in New Team Blog

    Nithya’s Project "Velocity" CTP1 Features post of June 4 provides a detailed outline of the capabilities of this new distributed cache framework. You can download the Velocity bits, checkout the new Velocity forum, and get samples from links on the Data Platform Developer Center’s Velocity page.

    The Data Platform group appears to be producing almost all new Microsoft frameworks.

    Updated 6/6/2008: Dare Obasanjo provides a detailed analysis of Velocity in his Velocity: A Distributed In-Memory Cache from Microsoft post of June 6, 2008. Many points he raises apply to the general topic of caching objects in memory, not just distributed caches.

    Marcelo Diego Vega Explains JavaScript Date Type Strangeness

    JavaScript’s Date type combines local and UTC times in a single variable, which confuses many new users of ADO.NET Data Services JSON serialization. Marcelo’s JavaScript Date, UTC and local times post of June 4, 2008 explains how to use JavaScript Date methods, such as toString() and toUTCString().

    Added 6/6/2008: Marcelo’s second post about the JavaScript Date type is JavaScript Date and ADO.NET Data Services of June 6, 2008.

    Rob Conery Close to Completing LINQ to SubSonic

    In his SubSonic: RIP? post of June 4, 2008, Rob says rumors of the death of his SubSonic scaffolding platform for ASP.NET are greatly exaggerated. In fact, the SubSonic 2.1 Release Candidate 1 became available yesterday. Rob goes on to note:

    Today, as a matter of fact, I'm tackling (and hopefully solving) one of the core IQueryable bits that's holding me back from a full Linq To SubSonic implementation. It's not easy, this LINQ stuff, but I'm getting there!

    Rob also makes it plain that SubSonic != ASP.NET Dynamic Data, although he does recognize that the products have a great deal of overlap.

    You can read more about SubSonic here. Like Ruby on Rails, SubSonic uses the ActiveRecord pattern and includes a scaffolding feature.

    Added 6/6/2008: Rob added a very detailed post about SubSonic 2.1’s Migrations feature that mimics Ruby on Rails database schema updater of the same name in SubSonic: Using Migrations of June 5, 2008.

    SharePoint Extensions v1.2 for Visual Studio Available for Download

    Get Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2, which Paul Andrew announced on June 4, 2008. And, if you don’t already have it, download Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions User Guide, Version 1.1 to learn how to use the tools. The VS 2008 version has the same feature set as that for VS 2005.

    SharePoint and its Web Parts are becoming increasingly important as the presentation layer for data-intensive applications. These extensions consist of:

    Tools for developing custom SharePoint applications: Visual Studio project templates for Web Parts, site definitions, and list definitions; and a stand-alone utility program, the SharePoint Solution Generator.

    For fledgling SharePoint developers, there’s a Silverlight-enhanced New Introductory SharePoint web site for .NET Developers that offers a detailed Introduction to SharePoint Products and Technologies for the Professional .NET Developer whitepaper and links to other WSS 3.0 resources. Quickstarts and Screencasts are “coming soon.”

    SQL Server 2008 Plus Other Servers and Tools Get a New Logo

    According to the The Data Platform Insider blog’s New logo for SQL Server® 2008 post of June 5, 2008:

    The Microsoft branding team unveiled an official new logo for SQL Server 2008 at TechEd 2008. The new symbol portion of the logo (officially called "dynamic grid symbol") is part of a larger branding strategy designed to help customers and partners distinguish server products in Microsoft’s overall product portfolio.

    Other members of the Server and Tools Group’s product line will use the same “dynamic grid symbol” in different colors.