Showing posts with label WCF. Show all posts
Showing posts with label WCF. Show all posts

Sunday, March 08, 2009

LINQ and Entity Framework Posts for 3/1/2009+

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

• Updated 3/8/2009 10:00 AM: Additions

Entity Framework and Entity Data Model (EF/EDM)

• Guy Burstein’s Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview post of 3/7/2009 is a detailed, illustrated tutorial that shows you how to use the new Astoria Offline preview with Entity Framework.

• Rob Bagby’s Entity Framework Modeling: Table Per Type Inheritance post of 3/6/2009 sings the praises of Table Per Type (TPT) inheritance modeling in the Entity Framework. His sample application is based on StudentTPT, AdminTPT, and InstructorTPT tables that inherit from a base PersonTPT table, as well as a BusinessStudentTPT that inherits from StudentTPT.

Rob also has stated an Entity Framework Index post to catalog forthcoming brief series of blog posts and screencasts on the ADO.NET Entity Framework.

• Jonathan van de Veen’s Adventures while building a Silverlight Enterprise application part #8 post of 3/4/2009 uses EF in an unconventional way as the back end for a Silverlight project. In the reply to a comment, Jonathan says he didn’t use ADO.NET Data Services with EF due to “some security issues.”

• Alex James acknowledges receipt of a review copy of my LINQ and EF book, as well as Julie Lerman’s EF title, in his Tip 2 - Entity Framework Books post of 2/26/2009.

Gil Fink demonstrates Entity Splitting in Entity Framework in this 3/6/2009 post. Gil writes:

Entity splitting is a scenario that happen when our entity is constructed
from many tables in the database. This happens for example when we don’t
want duplications in our database and use lookup tables instead which our
table has a reference key to those tables. More scenarios can be that we
decide to split our entity representation in the database.

When we have such scenarios the wizard of Entity Framework don’t know
that we split our entity and we have to map the entity to more then
one table.

Simon Segal continues his Lazy Loading Saga with Lazy Loading and the Entity Framework. How long I can go on like this? of 3/5/2009. Simon includes downloadable source code and promises:

I will soon follow with an Item Template for VS.Net that creates the attribute file and makes the references for you automatically.

LINQ to SQL

• David Haden gives the thumbs up to Sculpture - Model-Driven Development Code Generation Framework in his 3/8/2009 post. Sculpture has built-in support for

  • DAAB (Data Access Application Block)
  • NHibernate
  • LINQ to SQL
  • CSLA framework

data sources.

• Omar Al Zabir’s Linq to SQL solves Transaction deadlock and Query timeout problem using uncommitted reads post of 3/7/2009 explains how to use WITH (NOLOCK) or READ UNCOMMITTED with LINQ to SQL queries that incur deadlocks or timeouts due to multiuser contention issues.

Javed Hasan suggests using the TransactionScopeOptions.TransactionOptions collection in a comment, but Omar contends that System.Transactions has too much overhead for a high-volume website.

• Chad Moran’s Beware of DataLoadOptions.LoadWith<> post of 3/7/3009 describes an issue with the SQL TOP(n) statement generated for the DataContext.LoadWith<T> method. The original code took 17 second to run against 250,000 rows with appropriated indexes. Changing the query to apply TOP(10) before the JOIN and ORDER BY clauses reduced the time to 17 ms.

Alec Tang’s Some basic LinQ to SQL syntax post of 3/5/2009 describes how he uses LINQ to SQL syntax with the Telerik Open Access object/relational modeling (O/RM) tool.

Jacob Proffitt complains about BlogEngine.net’s Gratuitous Use of Linq in this 3/4/2009 post. Jacob plans to:

    • Decide on a database update methodology (so far, I’m using the already-existing tables and hence piggy-backing on the BlogEngine.Net scripts)
    • Replace the built-in ReferrerModule (use/create provider model access for referrers?)
    • Comb the project for any other errant XML dependencies
    • Work on multi-blogging configuration

Ben Hoelting and Eric Johnson present a LINQ : The DBA vs the Developer video (3/4/2009) for David Yack to play during his Rocky Mountain Tech-Trifecta keynote.

LINQ to Objects, LINQ to XML, et al.

Rick Strahl’s Dynamic Delegates with Expression Trees post of 3/8/2009 expands on Nate Kohari’s Fast Late-Bound Invocation with Expression Trees post of 3/6/2009 to describe dynamic invocation with LINQ Expressions:

One of the really cool features of LINQ is the ability to create Expression Trees. Expression trees are in effect fancy code generators that allow you – among other things – to generate dynamic code on the fly. The idea is that you can basically construct the content of a delegate dynamically and then return the lamda expression (a delegate) back as a result. This sort of thing was possible prior to .NET 3.5 and LINQ, but it was a lot more cryptic as you had to use Reflection.Emit to generate and compile the code. Additionally high trust environments where required.

Sadek Drobi interviewed Erik Meijer during the QCon San Francisco conference and posts the video and the text of a Q and A session in his Erik Meijer on LINQ article of 6/4/2009. Sadek writes:

Erik Meijer talks about less known LINQ features, like the ability to do meta programming or the fact that LINQ works against any data collection that implements the sequence operators. Meijer also talks about the differences between functional languages and objectual ones, asynchronous computation, and the evolution of languages.

ADO.NET Data Services (Astoria)

• Pablo Castro announces the arrival of an “Astoria Offline” preview in his Busy week: ADO.NET Data Services v1.5 CTP coming and "Astoria Offline" preview out post of 3/7/2009. For details of downloading the preview, see the Astoria Team’s Announcing Project Codename “Astoria Offline”, Alpha Preview post of the same date.

• Guy Burstein’s Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview post of 3/7/2009 is a detailed, illustrated tutorial that shows you how to use the new Astoria Offline preview with Entity Framework. (Copied from the “Entity Framework and Entity Data Model (EF/EDM)” section.)

Andrew Conrad’s “VT20, Building Data Service Applications Part 2: Applications for the Real World” session at VS Live! San Francisco provided more details about Astoria v1.5 and Windows Azure/SDS. Andy provides a link to his slide decks and source code for two Astoria sessions in his VSlive Presentations and demos post of 3/4/2009. Here’s a shortcut.

ASP.NET Dynamic Data (DD)

D. A. Panther’s Evolutility - A Dynamic Scaffolding Framework post of 3/6/2009 describes Evolutility as appearing “to be a dynamic scaffolding framework to build ASP.NET applications with.”

SQL Data Services (SDS) and Cloud Computing

This topic moved on 1/3/2009 to Windows Azure and Cloud Computing Posts for 1/5/2009+.

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

Jeffrey Schwartz reports RC2 of ASP.NET MVC Released in this 3/5/2009 Redmond Developer News article.

Aaron Skonnard’s Screencast: Ajax-enabling your WCF services of 3/6/2009 “guides the viewer through the process of Ajax-enabling your WCF services, allowing you to easily consume them from within your Ajax client pages.”

And his Screencast: Calling RESTful Services with WCF of the same date “introduces the client-side experience for using WCF to consume RESTful services. You'll see how to use the new WebChannelFactory class to create channels that know how to map method calls into traditional HTTP verbs (GET, POST, PUT, and DELETE).”

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 James’ DefiningQuery 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 Hanssens’ Entity 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.

LINQ to SQL

•• 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 Hanssens’ LINQ 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 http://sqlserviceslabs.net/SDSAstoria.html. 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 Jennings’ Important 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.”

Monday, November 24, 2008

LINQ and Entity Framework Posts for 11/17/2008+

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

••• Updated 11/24/2008 8:00 AM PST
•• Updated 11/21/2008 9:00 AM PST
• Updated 11/20/2008 5:30 PM PST

Entity Framework and Entity Data Model (EF/EDM)

••• Ayende Rahien reports substantial increases in NHibernate downloads and posts to the NHibernate users group in his The NHibernate Community post of 11/22/2008.

••• Rick Anderson’s How to create an updateable view with ADO Entity Framework and with LINQ to SQL post of 10/03/2008 describes what the title claims. (Thanks to Steve Naughton for the heads up on Rick’s MSDN blog, which I wasn’t watching but am now.)

•• Frans Bouma takes the EF Team to task for their plans to force developers to write their own client-side update tracking code, not to mention rolling their own “wire-level format for changes sent from client to another tier,” in his Baby-sitter Framework 2.0: Change tracking in the EF v2, it's still your problem post of 11/21/2008.

•• Ayende Rahien agrees with Frans in his Stealing from your client post of 11/21/2008. Ayende says “This Is Broken, By Design.” I agree with Ayende and Frans.

• Jeff Derstadt, Jaroslaw Kowalski, and Diego Vega posted N-Tier Improvements for Entity Framework [v2] on 11/19/2008, which proposes the following “goal” for future n-tier implementations:

Entity Framework won’t define its own unique representation for the set of changes represented in an N-Tier application. Instead, it will provide basic building block APIs that will facilitate the use of a wide range of representations.

My Entity Framework Team Abandons Unified N-Tier Architecture for v2 provides more details about the team’s decision to abandon a unified n-tier architecture for EF v2.

• Milind Lele mentions that VS 2010 will support drag-and-drop data binding for WPF in his Drag-drop data binding for WPF in Visual Studio 2010 (Milind Lele) post of 11/19/2008 and notes:

In VS2010 we've added support for EDM in the data sources window. Thus when you add an EDM to your project, the entities show up in the [D]ata [S]ources window. You can simply drag the entities and drop them onto your WPF form or control to bind them.

His earlier Drag-Drop Data Binding For WPF post of 11/8/2008 has a screen capture of Northwind EntitySets in the Data Sources window.

John Papa offers Code from DevConnections 2008 in Las Vegas (11/18/2008) for the following sessions:

  • Implementing the Entity Framework
  • Data Access with Silverlight 2
  • Developing with Enterprise Library Data Access Application Block

Kim Major’s Entity Framework – Some common hurdles post of 11/17/2008 describes how his repository implementation deals with the following issues:

  • No eager loading. Need to specify .Include(“”) for every query.
  • No way to make to turn change tracking on/off except from changing every query.
  • A bug that prevents simple queries where nvarchar columns are used in the criteria.
  • A designer error with a cryptic error message.

His earlier Data Access With The Entity Framework (11/12/2008) and Testable Data Access With The Repository Pattern (11/14/2008) posts describe Renaissance Computer Systems Ltd.’s EF-based framework.

LINQ to SQL

••• Visual Studio Magazine’s “Speed O/R Mapping with LINQ to SQL” cover story by Roger Jennings for the December 2008 issue carries the following deck:

LINQ to SQL continues to be a top contender in the .NET object/relational mapping tool market despite Microsoft's promotion of the Entity Framework as one of the "Pillars of SQL Server 2008: Dynamic Development."

The article includes a table that compares LINQ to SQL and Entity Framework features and a “Visual Studio 2008 SP1 Add-Ins Remove LINQ to SQL Roadblocks” sidebar that describes Huageti Systems’ DBML/EDMX Tools utility for LINQ to SQL and Entity Framework and Damien Guard’s T4 template for customizing LINQ to SQL partial class code generation.

The LINQ to SQL Featured in Visual Studio Magazine’s December 2008 Cover Story post of 11/24/2008 adds related OakLeaf blog links and a couple of minor corrections to the text and table.

••• Rick Anderson’s How to create an updateable view with ADO Entity Framework and with LINQ to SQL post of 10/03/2008 describes what the title claims. (Copied from the “EF/EDM” topic.)

•• Kristofer Andersson’s Tools - Part 6 - Add-ins - “Model First” in Linq-to-SQL (and Entity Framework) post of 11/21/2008 describes a new feature of his Huagati DBML/EDMX Tools that enables generating the underlying database from a LINQ to SQL O/R Designer model and then incrementally updating the database schema with change scripts as the model matures.

Incremental updates are important because LINQ to SQL’s current model-first implementation [re]generates the entire database for each design update. The EF team’s stated intention for EF v2 is exactly the same. In both cases, the developer must recreate all data, relationships, indexes, etc. manually or author a hand-written change script. Regenerating the database for model changes is not acceptable in a production O/RM tool.

Kris’s post includes screen captures of an example that adds two tables related to Northwind’s Employees table. If you’re working with LINQ to SQL or EF, you need the Huagati DBML/EDMX Toolkit.

Deepak ? demonstrates how to Dynamic Sort With LINQ To SQL in this 11/19/2008 post. He writes a complex method with the Expression type, which he finally simplifies to a simple GetSortedEmployees<T> function with a lambda expression to specify the OrderBy predicate.

Matt Warren’s Building a LINQ IQueryable Provider - Part XII post of 11/17/2008, following a four-month hiatus, wraps the code from his previous 11 episodes into a single IQToolkit project that also includes testing code. Matt describes the changes from the earlier, incremental code base:

One of the first things you'll notice when you take a look at the source is that I changed it quite a bit.  I moved code around, changed names gratuitously, added & removed classes and broke a lot of continuity with the prior versions. One of the biggest changes is that the code is no longer just a sample.  All those internal classes are public, the project builds as a DLL, the tests are hosted separately and the namespace is no longer 'Sample.'

Bravo, Matt! A vituoso performance.

••• Matt posted his IQToolkit source code to CodePlex on 11/21/2008

Deepak ?’s  Enum Support With LINQ To SQL And SqlMetal post of 11/18/2008 describes his approach for using an enum in code. His “solution is to generate dbml file using SqlMetal, then run a custom process which modifies dbml to make it enum ready and finally generate code using SqlMetal looking over dbml file.”

LINQ to Objects, LINQ to XML, et al.

••• Bart De Smet’s Dude, Where’s My LINQ DML? post of 11/22/2008 discusses adding DML for “batch updates that don’t require client-side input or computation.” Bart demonstrates attempts at “Updateable LINQ to Objects,” “Updateable remotable LINQ,” and “Introducing IUpdateable<T>”, but bails with the following:

I’ll leave a concrete implementation of an update provider to the inspired reader; a basic prototype for SQL (only allowing columns to be updated with constant string or integer values) worked like a charm.

Bart: How about providing your “basic prototype for SQL” code?

Note: As reported last week, Rob Conery “added some spice to [SubSonic 3.0] and now we have a batch-updatable (read: one connection, one sql execution) Add/Update/Delete for the Repository which you can download here ([he]'ll include this in subsequent releases).”

• Eric White demonstrates LINQ to XML generating an Inner Join of Two Excel Tables directly from the spreadsheet.Table(“TableName”) sources in this post of 11/20/2008.

• LinqMaster’s Iterators, Lambda, and LINQ post of 11/20/2008 claims to be “The path to understanding Lambda and LINQ.” Sounds like LinqMaster is attempting to emulate Siddhartha Gautama in the LINQ department.

• Aghy (Agnes Molnar) points to an updated version of LINQ4SP (LINQ to SharePoint) RC2 with its timebomb extended to 1/1/2009 in her Linq4SP - RC2 timebomb extended post of 11/20/2008. The earlier version expired a few days ago (in advance of the availability of paid licenses.)

Mike O’Brien’s Importing and Exporting Data Using Linq post of 11/18/2008 demonstrates how to export data from a SQL Server table to XML using LINQ to SQL and LINQ to XML.

ADO.NET Data Services (Astoria)

• Marcelo Lopez Ruiz’s Limiting how many entities are returned from an ADO.NET Data Service post of 11/19/2008 explains that you can limit the number of entities on the server as well as with the $top query string option. Marcelo says:

MaxResultsPerCollection allows you to limit not only the number of entities returned at the top level of a request, but also at each collection within, so clients can't use '$expand' to overwhelm the server. Because a batch request can have multiple queries, you can combine that with MaxBatchCount.

However, use of these constraints is likely to throw exceptions.

He also cautions not to forget the dollar-sign prefix for system query parameters (options) in Filter not working in ADO.NET Data Services? of 11/18/2008

• Brandon Bilinsky announced on 11/19/2008 that Like a Version; AtomPub Compliant for the Very First Time v2 of the Google Data APIs is fully compliant with the AtomPub standard (RFC 5032.) Like Astoria, Data APIs v2 uses HTTP ETags for optimistic concurrency management. Google’s Java and .NET client libraries have been updated with v2 support.

Rick Strahl’s ASP.NET Connection Session Slides and Samples Posted of 11/17/2008 describes and provides links to these sessions:

  • Using WCF for REST and JSON Services with ASP.NET
  • Using jQuery with ASP.NET
  • Dealing with Long Running Requests in ASP.NET

ASP.NET Dynamic Data (DD)

••• Rick Anderson solves a problem that occurs when you scaffold AdventureWorks’ CustomerAddress column in his Improving the FK field display: Showing two fields in Foreign Key columns with EF post of 11/21/2008. By default, DD turns the table’s first string column into a lookup field, in this case the Title field. Rick corrects the problem “by creating and annotating a partial class for the  Customer entity.”

•• Jonathan Carter’s Dynamic Data: The Little MetaModel That Could post of 11/20/2008 delve deeper into DD’s metadata classes: MetaTable and MetaColumn.

• Jonathan Carter posts the third episode as Dynamic Data: Models, MetaModels And Everything In Between on 11/19/2008. He notes that Dynamic Data provides …

A common meta-model system for describing data models with a higher semantic that a UI can leverage to be smarter by default. Out of the box, it includes providers for LINQ-To-SQL and the Entity Framework (which is why it has gotten a reputation for working solely against databases), but nothing stops it from working against any other data source. In fact, prototypes already exist that have Dynamic Data working against an ADO.NET Data Service, as well as a SQL Data Service.

Jonathan Carter follows up the first DD episode with Dynamic Data: Kickin’ It Old School of 11/19/2008, which provides a “contextual explanation as to why you might want to [leverage Dynamic Data within an existing web application], and what benefits may exist.

Jonathan Carter’s Dynamic Data: Come For The Scaffolding, Stay For Everything Else post of 11/17/2008 is the first episode of a new series about ADO.NET Dynamic Data. You might recall Jonathan’s earlier multipart series about ADO.NET Data Services.

Azure, SQL Data Services (SDS) and Cloud Computing

••• Roger Jennings uploaded the OakLeaf Systems Azure Table Services Test Harness to Windows Azure on 11/23/2008 and it’s now live at http://oakleaf.cloudapp.net/Default.aspx. For more details, see Windows Azure Test Harness Is Live! of the same date. A few features are disabled in the publicly available version.

••• Mike Amundson observes that SDS currently supports JSON (and ATOM) wire formats with Astoria functionality in his reply of 11/20/2008 to the JSON as alternative to XML for REST requests? thread in the SQL Data Services (SDS) - Getting Started forum.

The SDS Team’s Evan Basilik commented on the same date that “It does work, but is not an entirely "baked" part of the product.” Later posts request reassurance that, unlike Astoria, SDS will continue to support Plain Old XML (POX).

••• James Urquhart’s Do Your Cloud Applications Need To Be Elastic? post of 11/21/2008 quotes Citrix’s Cris Flex’s Cloud Economics 101 - Part 1 post of 9/27/2008 compares the cost of on-premises versus cloud computing on Amazon’s EC2. James concludes that cloud computing (with EC2) is only competitive with on-premises operations if you take full advantages of the ability to add and remove instances to satisfy periodic load peaks.

(Chris’s Cloud Economics 101 Part 2 - Premise Plus Cloud post of 10/13/2008 analyzes supplementing on-premises hosting with cloud computing for short-term demand spikes.)

••• Roger Jennings added the last three episodes to his Azure Storage Services Test Harness series:

  • Table Services 7 – Testing for Table Existence at App Startup Only (11/22/2008)
  • Table Services 6 – Paging LINQ to REST Query Result Sets (11/22/2008)
  • Table Services 5 – Generating Classes/Collection Initializers with LIMOG v2 (11/21/2008)

    • Pat Helland’s An Interview with .NET Rocks while I Was at Barcelona Last Week post of 11/20/2009 contains a link to an interview about the five sessions Pat presented at Tech*Ed EMEA 2008 Developer:

    1. When You Have Too Much Data, “Good Enough” is Good Enough
    2. Building on Quicksand
    3. RIAs and Emissaries
    4. Metropolis: Buildings and Applications
    5. Title Missing

    All have some relationship to cloud computing, but the interview emphasized topic #1.

    • Roger Jennings added two new episodes to his Azure Storage Services Test Harness series:

    The goal is to wrap up the series by the end of this week.

    • David Aiken’s illustrated Peeking [into] Windows Azure Queues using Windows PowerShell post of 9/12/2008 shows you how to use the CloudDrive Windows PowerShell provider from the Azure sample projects to browse and read queues.

    John Foley notes in his Next Headache: Cloud Chaos post of 11/19/2008 that:

    InformationWeek is preparing a report on how to get into cloud services, a hands-on guide to help you make a smooth transition, which we will publish in December. Those who want to ride the learning curve with peers should consider attending Cloud Connect, an "unconference" with a learn/develop/demo format. The event, co-sponsored by InformationWeek, takes place Jan. 20 to 22 at the Computer History Museum in Mountain View, Calif.

    So far, the “unconference” agenda has a severe case of the “Berkeley Vagues.”

    Steve Marx eliminates the performance hit caused by executing the CreateTablesFromModel() method against Azure Table Services on each server round trip in his Try to Create Tables Only Once post of 11/18/2008. I put his approach to work in the Global.asax.cs file added to my Azure Storage Services Test Harness.

    Oren Melzer’s The CardSpace “Geneva” Selection Experience post of 11/17/2008 explains the “newly designed selector in the new CardSpace ‘Geneva’ beta.” CardSpace is one of the authentication methods for the Azure Services Platform.

    Microsoft announced its Microsoft Business Productivity Online Standard Suite (MBPOSS) on 11/17/2008 and Mary Jo Foley analyzed its SharePoint capabilities in her What does ‘SharePoint in the cloud’ really mean? post of the same date. MBPOSS offers Exchange Online, SharePoint Online, Office Live Meeting, and Office Communications Online (later) “in the cloud” to potential users starting at $15.00 per month.

    Werner Vogels describes Amazon Web Services’ new edge-based content distribution network (CDN) for S3 called CloudFront in his Expanding the Cloud: Amazon CloudFront post of 11/17/2008. Nice name, by the way.

    SQL Server Compact (SSCE) 3.5 and Sync Services

    Steve Lasker’s Tech Ed EMEA 08 Powerpoints and Demos post of 11/19/2008 has links to slides and demo code from his two presentations:

    • DAT314  Unlocking the Power of SQL Server Compact 3.5
    • DAT405 Managing and Versioning Client Databases 

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

    ••• Sam Gentile posted the 11th member of his SOA: Making the Paradigm Shift Part series on 11/23/2008 as Introduction to WCF: Architecture and the "ABCs" of Indigo." Sam says “The focus of this post is to show "Hello Indigo" code in a step-by-step manner. We will dive deep into the Indigo Architecture in the next installment of this series.”

    •• Rick Strahl attempts to divine the appropriate data transfer model to SQL Server parameterized stored procedures in his Silverlight and Data Communications post of 11/20/2008.

    David Betz’s Understanding WCF Services in Silverlight 2 of 11/16/2008 is a full-length tutorial for “access[ing] WCF services using Silverlight 2 without magic. There will be no proxies, no generated code, and no 3rd party utilities. Just raw WCF.”

    Rico Mariani’s The Visual Studio Tech Roadmap -- Starring Visual Studio 2010 post of 11/18/2008 presents Visual Studio’s chief architect’s view of the goals for VS 2010 and later, including a reference to future cloud-computing capabilities and tools (see the Danny Thorpe item below.)

    Simon Segal explains how he’s Moving on from Windows & Web Forms to Silverlight 2.0 in this detailed post of 11/18/2008.

    Scott Guthrie notes that Silverlight 3 will have “richer data-binding support” in his Update on Silverlight 2 - and a glimpse of Silverlight 3 post of 11/16/2008.

    Dare Obasanjo’s Live Framework (LiveFX), Is it Microsoft's GData or Something More? post of examines LiveFX and concludes:

    The client-side Live Operating Environment is a technology whose benefits elude me. I admit it is kind of cool but I can't see its utility.

    Danny Thorpe responds in his Client-Side Live Operating Environment: What’s It For? post of 11/18/2008 that “The answer, in a word, is ‘offline.’” Danny was a Principal Software Development Engineer for LiveFX who left Microsoft in October 2007 and returned in May 2008. He joined the Visual Studio incubation team that’s “working on stuff to make accessing Windows Live services easier for developers,” and is now Principal Engineer, Cloud Computing Tools.

    Kristofer Andersson’s Data Model - Basics - Part 11 - The HuagatiRes data model converted to “M” post of 11/15/2008 describes his conversion of the HuagatiRes airline passenger reservation system data model into an Oslo M script with a “code snippet that extracts schema, type, table, column, foreign key, and index defs and generates M files.” Kris says:

    Give it a connect string and an output folder and it will generate one M file per schema in the database you point it at, complete with code comments (based on object names and extended property descriptions) and all. Even [commented out] index definitions - prepared for the day when M gets support for index definitions.

    P.S.: Aker Brygge is the site of a former Norwegian shipyard (near Oslo) that’s been converted into a “shopping center with shops and restaurants, a cinema, office space, and apartments. Additionally, there is a small boat harbour, and a terminal for the ferries to Nesodden (across the Oslo fjord).”

    Kathleen Richards quotes me in her A Tale of Two 'Cities' article about Oslo and Dublin for Redmond Developer News’ November edition:

    Data-driven app developer Roger Jennings, a contributing editor to Redmond Developer News' sister publication Visual Studio Magazine and OakLeaf Systems blogger, says with Oslo Microsoft is moving toward a repository for componentized software. The company's intention is to make the visual designer Quadrant usable by business analysts -- to modify workflows, for example -- but whether that will work is unclear.

    "My feeling about Oslo is that they're trying to get business analysts involved in the design process, but not necessarily doing the design," says Jennings.

  • Sunday, September 28, 2008

    LINQ and Entity Framework Posts for 9/22/2008+

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

    •••• Updated 9/28/2008 3:00 PM PDT adding VS 2008 SP1, jQuery, ASP.NET MVC 
    ••• Updated 9/27/2008 2:00 PM PDT with EF, LINQ to SQL, LINQ to XML, SSDS
    •• Updated 9/26/2008 8:00 AM PDT adding EF POCO update, Silverlight RC0, DD
    • Updated 9/25/2008 12:00 noon PDT including newly announced PDC 2008 sessions

    Entity Framework and Entity Data Model (EF/EDM)

    ••• Julie Lerman’s No, I do not want Set in the name of my EntitySet post of 9/26/2007 echoes my Forcing Gratuitious Pluralization of EF EntitySet Names Was a Very Bad Decision post of 9/20/2008. Both of us abhor the enforced Set suffix for singularized EntitySets.

    •• Jarek Kowalski released v1.03 of his EF POCO Adapter which focuses on n-tier scenarios and detached entities, according to his EF POCO Adapter updated (v1.03) post of 9/25/2008. Following are Jarek’s descriptions of the changes:

    • Added wrapper for ObjectContext.ApplyPropertyChanges() to IEntitySet<T>
    • Added wrapper for ObjectContext.Detach() to IEntitySet<T>
    • Fixed handling of detached/out-of-scope entities w.r.t lazy loading and attaching to other contexts. Lazy loading outside of scope will do nothing if the context had DeferredLoadingEnabled=false, otherwise will throw.
    • Added partial OnZZZCreated() methods on generated contexts, adapters and proxies to enable integration with 3rd-party extensions
    • Fixed code generation from EDMX.
    • EFPocoContext.EnableLazyLoading has been renamed to EFPocoContext.DeferredLoadingEnabled to better align with Linq to SQL and our plans for EF v2
    • Fixed adapter-POCO synchronization for complex types

    You can download the source code from the MSDN Code Gallery’s Persistence Ignorance (POCO) Adapter for Entity Framework section.

    Jarek’s previous posts about the EF POCO Adapter:

    • Frans Bouma is interviewed by .NET Rocks! podcasters Carl Franklin and Richard Campbell "about his thoughts on the ORM revolution, his products, and the Entity Framework” in show #380. Frans’ interview starts at 14:00.

    Frans says Microsoft has “put LINQ to SQL on the back seat,” which corresponds with the points I raised in my Is the ADO.NET Team Abandoning LINQ to SQL? post of May 23, 2008 (updated 5/23/2008). Carl Franklin also brings up Microsoft’s original position was that “Entity Framework is not an O/RM” at about 37:00.

    • Julie Lerman’s lengthy “Data Access Options in Visual Studio 2008” article for CoDe Magazine became available online on 9/25/2008. It’s a must-read for developers who need to decide on one of the seven .NET 3.5 SP1 data access technologies her article describes.

    Note: Non-subscribers can view Page 1 only until two months after publication.

    Muhammad Mosa starts a new multi-part Entity Framework tutorial with Inheritance and Associations with Entity Framework Part 1 of 9/24/2008, which (paraphrasing Moses) covers building simple associations between two entities and writing custom code to retrieve other parts of the relation when inheritance is applied.

    His detailed, downloadable sample project contains the following, fully illustrated (by screen captures) topics:

    • How to define a model with Table-per-Hierarchy Inheritance
    • Creating Sub Entities
    • Define Mappings
    • Define An Abstract Class

    LINQ to SQL

    ••• Fredrik Kalseth’s DataContext Repository Pattern Example Code post of 9/27/2008 contains a link to download sample code for his Linq to Sql, Programming Against an Interface and the Repository Pattern of 5/5/2008 about which Fredrik says:

    The magic that lets us run queries against for example IPage, is in the Cast<T> extension method in System.Linq. By using it, it allows clients to ask the Repository<T> method for IPage, which then through the mapping configured in the static TableMaps dictionary (where at application startup I've added the mapping between IPage and Page) gets translated into a request for the Page table from the context, and then finally cast back to a IQueryable<IPage> before being returned to the caller, ready for querying against.

    His earlier, related The Specification Pattern and Encapsulation post of 7/12/2008 links to Nicholas Blumhardt’s Implementing the Specification Pattern via Linq post of 7/6/2008.

    ••• Matt Manela publishes a reader’s simpler method for SSCE 3.5 connection sharing in his SQL CE 3.5 with LINQ to SQL Revisited post of 9/26/2008. The original post was SQL CE 3.5 with LINQ to SQL of 9/8/2008. (Repeated in SQL Server Compact 3.5)

    •• Simon Segal supplements the post below with LINQ To SQL - Going POCO and more……! Part 2 of 9/25/2008, which discusses accessor mutators for EntitySet and EntityRef types.

    • Simon Segal generates a multifile assembly of his LINQ to SQL libraries for his POCO Custom Multifile Assembly and ReSharper post of 9/24/2008. His earlier LINQ To SQL - Going POCO and more…..! post describes his

    Generic Repository approach [that] utilises POCO’s along with Specifications and Fetching strategies (an nHibernate concept). …

    The idea of the generic repository began as an extension of the ideas expressed by Mike Hadlow in his article here which are derived from Ayende’s work here.

    Simon discusses the design of his POCO generic Repository in his lenghty POCO improves inheritance for LINQ to SQL post of 8/26/2008.

    • Damien Guard has fixed a few bugs in his Text Template Transformation Toolkit (v.74) on 9/25/2008 and there’s a new, corresponding version of my DamienGuardT4.sln project available from SkyDrive. For more details, see Bidirectional Serialization of LINQ to SQL Object Graphs with Damien Guard’s T4 Template in VS 2008 SP1, which was updated on 9/25/2008 also.

    Nick Berardi demonstrates How NOT To Optimize LINQ Statements in his post about LINQ to SQL queries of 9/24/2008. Nick looked at the T-SQL generated by his complex LINQ to SQL query, which included a couple of let statements, and concluded 34 lines with three CASE statements was too many. His optimization reduced the number of lines to 16, but increased the execution time by a factor of 4.6.

    Nick says:

    The moral of the story is you probably don’t need to optimize your SQL query through LINQ, just keep it simple and optimize your LINQ statement and leave the rest up to the professionals at Microsoft who created the LINQ to SQL expression query generator.

    LINQ to Objects, LINQ to XML, et al.

    ••• Charlie Calvert has returned to his LINQ Farm series. LINQ Farm: LINQ to XML and Line Numbers of 9/26/2008 shows how to indicate line numbers in XML Documents with help from an XmlLineNumbers project from XmlLineNumbers.zip in CodeGallery’s LINQ Farm section.

    • Rinat Abdullin compares the performance of simple LINQ to Objects queries and hard-coded equivalents in his Some performance issues and caveats of LINQ of 9/25/2008.

    ADO.NET Data Services (Astoria)

    •••• Scott Hanselman offers a demonstration of jQuery 1.2.6 in conjunction with

    • ADO.NET Data Services and it's JavaScript Client Library
    • ASP.NET AJAX
    • ASP.NET AJAX Client Templating (Preview)

    in his jQuery to ship with ASP.NET MVC and Visual Studio post of 9/28/2008. For more on Microsoft’s adoption of jQuery in VS 2008, see the Miscellaneous topic.

    • Shawn Wildermuth reports about encountering performance problems in his online Silverlight 2 samples in his ADO.NET Data Services Performance Issues post of 9/25/2008.

    The problem occurs with an Astoria query that retrieves many:one EntityRefs (Category and Supplier for each Product requested). Part of the problem might be that Shawn included the Category.Picture bitmap field in the query. LINQ to SQL, which is smart enough not to repeat T-SQL requests for objects currently in memory, doesn’t provide updatable Astoria objects out of the box. Entity Framework doesn’t support LINQ to SQL’s DRY (don’t repeat yourself) feature.

    • Steve Maine will present Microsoft .NET Framework: Developing RESTful Services at PDC 2008:

    Learn the latest features in Windows Communication Foundation for building Web 2.0-style services that use URIs, HTTP GET, and other data formats beyond XML. See how these features can be applied to AJAX web sites, "REST" applications, and data feeds.

    ASP.NET Dynamic Data (DD)

    •• DLPanther announces plans for a series of articles about ASP.NET Dynamic Data in his ASP.NET Dynamic Data, The Next Data Revolution! post of 9/25/2008.

    • Steve Naughton continues his exploration of new DD techniques with Dynamic Data Custom Pages with Ajax Control Toolkit Tabs of 9/25/2008, which describes the two most successful methods he found for creating a generic page with a DetailsView that shows the parent record and a set of tabs showing all its child records.

    • Stephen Walther will deliver ASP.NET Futures: WebForms and MVC Advancements at PDC 2008:

    Learn about future advances in ASP.NET like WebForms, MVC, AJAX, Dynamic Data, and dynamic languages.

    • Scott Hunter will present ASP.NET: Dynamic Data 2.0 and Dynamic Data for MVC at PDC 2008:

    The next version of ASP.NET MVC contains a new scaffolding feature based on Dynamic Data that provides a rich framework for creating data driven web sites. Learn how to quickly build a Dynamic Data web site using features like model level validation, field and entity templates, and scaffolding.

    Mike Taulty reports about experiments with DD in his ASP.NET 3.5 Sp1 Dynamic Data post of 9/24/2008. He was surpised to find that VS 2008 SP1’s DD templates were limited to Dynamic Data Web Site (Entity Data Model data source) and Dynamic Data Entities Web Site (LINQ to SQL data source).

    Steve Naughton updated An Advanced FieldTemplate with a GridView/DetailsView Project, the seventh episode of his Dynamic Data and Field Templates series, on 9/23/2008. Paraphrasing the updates:

    The FieldTemplate now has ParentDetails and the ChildrenGrid FieldTemplate’s
    ParentDetails no longer support Insert but they do support Update as before.

    SQL Server Data Services (SSDS)

    • Kim Cameron and Stuart Kwan will present Claims-Based Identity: A Security Model for Connected Applications at PDC 2008:

    Claims-based security is the underpinning of many applications, services, and servers. This model enables security features like: multiple authentication types, stronger authentication on-the-fly, and delegation of user identity between applications. Learn how to use this model in .NET, how it integrates with Active Directory, how it works across platforms, how it works with existing applications, and how we use it at Microsoft.

    SSDS v1 will use claims-based security from BizTalk Services.

    • Lynn Ayres and Tore Sundelin will deliver Connecting Active Directory to Microsoft Cloud Services at PDC 2008:

    Learn how to augment your existing IT infrastructure with Microsoft Services. Manage and secure end user access to cloud services using your existing investment in Active Directory. Enable end users to access cloud services through existing Active Directory accounts, the same way they access your intranet-hosted software today. Hear how to enable existing software to use new service capabilities without re-writes, and do it all through the use of open and standard protocols.

    Gianpaolo Carrero’s Cloud Services Architecture symposium post of 9/24/2008 describes the Head in the Cloud, Feet on the Ground symposium on PDC 2008’s day four. Gianpaolo says:

    We will explore a few examples of cloud-based infrastructure usage as part of an existing application, we will discuss the architectural tradeoffs as well as best practices resulting from that usage. We will also walk through detailed examples of ‘enterprise grade’ hosted application design. And finally we will go through emerging patterns that take into account the physical aspects of a cloud-based application that are often overlooked, such as bandwidth which happens to be not infinite and certainly not free at high scale.

    David Robinson announced in his SSDS and SSIS…like peanut butter and jelly post of 9/23/2008 that Matt Masson has posted documentation and downloadable code for SQL Server Data Services Connectors for Integration Services on CodePlex. Here are the download links:

    The Source and Destination adapters simplify downloading and uploading SSDS data by taking advantage of SQL Server Integration Services.

    Roger Jennings explores two relational databases in the cloud in his SSDS’s Competitors: Oracle 11g and Sun MySQL on Amazon EC2 of 9/23/2008. Oracle 11g for the Cloud was announced by Amazon Web Services on 9/22/2008; cloud-based MySQL was announced (originally) on 5/8/2008 and didn’t appear to garner much interest.

    The unadvertised special is a a shared AMI for Oracle Express 10g with Oracle Enterprise Linux available from Amazon.

    More from ZDNet about the cloud in Sam Diaz’s Intel at Oracle OpenWorld: It’s about time - and the cloud post of 9/24/2008 from Oracle OpenWorld.

    Ayende Rahien’s Amazon EC2 now offers RDBMS post of 9/23/2008 gives his take on the difference between Oracle and MySQL in the cloud. Ayende concludes “I found this to be extremely interesting.”

    Andrew Whitten says the following about his 9/21/2008 post about the Pictures in the Cloud - SSDS demo app, available from CodePlex:

    I’ve been having a bit of hack around to show how pictures can be stored by this kind of service. There isn’t any reason to use this over the other online photo sharing sites, but it demonstrates how to use the API.

    SQL Server Compact (SSCE) 3.5 and Sync Services

    ••• Matt Manela publishes a reader’s simpler method for SSCE 3.5 connection sharing in his SQL CE 3.5 with LINQ to SQL Revisited post of 9/26/2008. The original post was SQL CE 3.5 with LINQ to SQL of 9/8/2008. (Repeated in LINQ to SQL)

    Visual Studio 2008 Service Pack 1 (General)

    •••• MSDN Events Summer 2008 Resources offers the following downloads for Session 3 | Developing Applications with Visual Studio 2008 and .NET Framework 3.5 Service Pack 1:

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

    •••• Scott Guthrie announces support for the jQuery JavaScript library in the ASP.NET MVC preview and future versions of VS 2008 in his jQuery and Microsoft post of 9/28/2008. Scott says:

    We will distribute the jQuery JavaScript library as-is, and will not be forking or changing the source from the main jQuery branch.  The files will continue to use and ship under the existing jQuery MIT license.

    We will also distribute intellisense-annotated versions that provide great Visual Studio intellisense and help-integration at design-time. …

    The jQuery intellisense annotation support will be available as a free web-download in a few weeks (and will work great with VS 2008 SP1 and the free Visual Web Developer 2008 Express SP1).  The new ASP.NET MVC download will also distribute it, and add the jQuery library by default to all new projects.

    We will also extend Microsoft product support to jQuery beginning later this year, which will enable developers and enterprises to call and open jQuery support cases 24x7 with Microsoft PSS.

    jQuery’s John Resig has more to say about Visual Studio’s adoption of jQuery in his jQuery, Microsoft, and Nokia post of the same date.

    As Ayende Rahien points out in his On jQuery & Microsoft post of 9/28/2008: “[S]omething else that I didn't see other people pointing out":

    This is the first time in a long time that I have seen Microsoft incorporating an Open Source project into their product line.

    I am both thrilled and shocked.

    Justin Etheredge’s $("Microsoft").append("excitement"); post of 9/28/2008 goes into much more detail about the impact of inclusion of third-party, open-source jQuery in VS 2008.

    Rick Strahl announces the first of a two-part series of jQuery articles in his Introduction to jQuery Article posted post of 9/28/2008. Rick says the in the latter post:

    Part 1 of the article is mostly a pure jQuery introduction and doesn’t talk about jQuery’s Ajax features or direct interaction with the server side and ASP.NET. Rather it focuses purely on many of the extremely useful client side features as well as the basic concepts of extending jQuery with plugins.

    Part 2 then will talk about the server side integration with ASP.NET using various mechanisms to call ASP.NET content from raw page Ajax calls, to JSON Service callbacks, to using templating and even partial rendering against server side ASP.NET application. I’ll also talk about building ASP.NET components that integrate with jQuery. This article is based on my jQuery session that I’ve been giving at various conferences and user groups.

    •••• Justin Etheredge provides a flow diagram for MVC requests in his ASP.NET MVC Request Flow post of 9/27/2008. Justin says he was unable to find a similar diagram on the web.

    •• Scott Guthrie announced the release of Silverlight 2 RC0 for developers in his Silverlight 2 Release Candidate Now Available post of 9/25/2008. Scott says:

    You can download today's Silverlight Release Candidate and accompanying VS and Blend support for it here.  Note that Expression Blend support for Silverlight 2 is now provided using Blend 2.0 SP1.  You will need to install Blend 2.0 before applying the SP1 service pack that adds Silverlight 2 support.  If you don't already have Blend 2.0 installed you can download a free trial of it here. …

    Over the next few months we will be releasing a lot of new Silverlight 2 controls (more details on these soon). Today's release candidate includes three new core controls - ComboBox, ProgressBar, and PasswordBox - that we are adding directly to the core Silverlight runtime download (which is still only 4.6MB in size, and only takes a few seconds to install):

    He also says the final release will be “shipped … soon.” Get more details on the release from:

    Beth Massi offers a link to the source code and slides for her Data Sources and Data Binding in WPF Talk in Redmond on 9/22/2008. Beth says:

    I started the talk with basics of data binding to a variety of data sources and then we moved to more to data access discussions and n-tier architecture issues. It was similar to the talk I did at Bay.NET in SF last month but I focused this time completely on WPF and didn't show any Winforms at all. This allowed us to have more time for architecture discussions and I think it worked out well.

    Ayende Rahien is in the process of learning Erlang, the open-source programming language behind Amazon SimpleDB and open-source CouchDB, a document-oriented database that’s an Apache Incubator project.

    Here are his posts by topic as of 10/24/2008 11:00 AM PDT (in chronological order):

    All in all, an amazing tour de force of analyzing complex source code in a language that’s new to him.