Showing posts with label LINQ4SP. Show all posts
Showing posts with label LINQ4SP. Show all posts

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.

  • Saturday, October 25, 2008

    LINQ and Entity Framework Posts for 10/20/2008+

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

    Updated 10/25/2008 3:30 PM PDT: Minor additions
    Updated 10/23/2008 9:00 AM PDT: Amazon EC3 (big news), EF, LINQ to SQL, LINQ, Astoria, and SSDS/Cloud Computing additions
    • Updated 10/22/2008 3:00 PM PDT: Several additions

    Links to Streaming PDC 2008 Keynotes from Guy Burstein:

    Monday: 10/27
    8:30 a.m. - 10:30 a.m.
    100 kbps | 300 kbps | 750 kbps

    Tuesday: 10/28
    8:30 a.m. - 10:30 a.m.
    100 kbps | 300 kbps | 750 kbps

    Entity Framework and Entity Data Model (EF/EDM)

    ••• Jarek Kowalski provides a detailed step-by-step guide for Using EF Oracle Sample Provider with EDM Designer on 10/24/2008. Jarek says:

    Many people are asking if it is possible to use EFOracleProvider with EDM Designer in Visual Studio 2008 SP1. The answer is yes, but because the sample doesn't include a DDEX provider required for VS integration, there are certain steps that have to be run manually.

    Jarek’s guide has 15 steps.

    Steve Lasker offers a tutorial for delivering SQL Server Compact (SSCE) with EF client applications in his Privately Deploying SQL Server Compact with the ADO.NET Entity Provider post of 10/21/2008. The highly detailed process covers SSCE installations on locked-down computers whose users don’t have Administrator accounts.

    Bill Vaughn’s Is Microsoft Listening or Open for Output Only? post of 10/22/2008 proposes that Microsoft add semi-mandatory WHERE clauses and remove SELECT * options from SQL-generating wizards.

    He also states that devs using the Entity Framework must process schema changes manually. I noted in a comment that “the Entity Data Model Designer has an Update from Database context menu command that opens a tabbed dialog that regenerates the entity classes automatically.”

    Saaid Kahn, a Program Manager on the Visual Studio Pro Tools team, describes how to create an n-tier database application  using ADO.NET Data Services (Astoria) and an Entity Data Model, in this Channel 9 Interview: ADO.NET Data Services in Visual Studio 2008 SP1 of 10/21/2008 by Beth Massi. (Copied from Astoria.)

    David Sceppa announced on 10/21/2008 that Sybase's SQL Anywhere ADO.NET Provider Supports the ADO.NET Entity Framework!

    Julie Lerman’s Best approach for teaching first exposure to Entity Framework post of 10/20/2008 discusses her choice between “teaching EF from the top down (EDM, LINQ to Entities, Object Query then EntityClient) or bottom up (EDM, EntityClient, ObjectQuery then LINQ to Entities).”

    LINQ to SQL

    ••• Anders Janmyr’s TDD and LINQ to SQL post of 10/25/2008 describes two interfaces, IUnitOfWork and ITable<T>, two classes LinqToSqlUnitOfWork and LinqToSqTable<T> and for testing purposes two additional classes InMemoryUnitOfWork and InMemoryTable<T>, which make it “easy to mock out the Persistence Layer when using LINQ to SQL.”

    This is another interesting example of the third-party efforts devoted to improving the testability of LINQ to SQL.

    ••• Jon Skeet asks What other Enumerable extension methods would you like to see? on 10/23/2008. So far, comments have requested a number of candidates.

    Michael Minutillo describes an abstraction of LINQ to SQL for his MvcSupportFacility for ADO.NET MVC that uses the Unity Inversion of Control (IoC) container in his detailed Linq Repositories, Lifetime Manaqement and Unity post of 23 October 2008.

    Scott Hanselman’s Informal .NET Subsystem Survey shows use of LINQ to SQL is within about 5% of ADO.NET DataSets (1,734 to 1,887) among the 4,899 responses that comprise his Survey RESULTS: What .NET Framework features do you use? post of 10/22/2008.

    • Matt Hunter is close to releasing his base class that supports n-tier, disconnected operation of LINQ to SQL. The LINQ to SQL Entity Base Release Candidate 3 post includes links to LINQ to SQL Entity Base - Disconnected LINQ Version 1.0 Release Candidate 3 of 10/22/2008. The project’s CodePlex home page explains its features.

    This release features bidirectional serialization with the DataContractSerializer and the IsReference attribute for many:one associations. It requires a licensed version of VS 2008 SP1, not the Express edition.

    • Jim Wooley’s Updated source for ThinqLinq now available post of 19/21/2008 offers 18 months of accumulated updates to his LINQ-based blogging application.

     Cirilo Meggiolaro Tip of the day #3 - Getting details of a LINQ change conflict exception explains an “easy way to get a list of tables and columns that have thrown the exception. The [sample] code … catches the exception and loop through conflict objects to generate a full report.”

    LINQ to Objects, LINQ to XML, et al.

    Agnes Molnar (Aghy) reports on 10/25/2008 that Linq4SP - RC2 is available to download! from here. Her post includes a list of RC1 bugs fixed in RC2.

    LinqMaster’s How to Get a List of Installed Applications with LINQ post of 10/22/2008 shows you how to reduce the number of lines of C# 2.0 code in half with LINQ to Objects.

    Jay Sawyer conducts a series of performance tests against LINQ to Objects and observes some unexpected results in these two recent posts:

    Part II includes comparisons with DataViews, filtered DataSets, LINQ to Objects, and LINQ to SQL.

    Eric White’s Creating Data-Bound Content Controls using the Open XML SDK and LINQ to XML explains how to “take a document that has un-bound content controls, generate a custom XML part automatically (inferring the elements of the custom XML from the content controls), and then bind the content controls to the custom XML part.”

    Bart De Smet “The C# Programming Language Third Edition” and thoughts on language evolution is a lengthy essay on the history of C# 2.0/3.0 features and features to be expected in C# 4.0.

    In his LINQ to Anything – Channel 9 interview and a few more thoughts, Bart expands on Channel9’s announcement with links to related blog posts. He also “elaborate[s] a bit on fan-in and fan-out and [his] statement on the square infinity possibilities of LINQ, and take[s] a look at the following slides from a recent presentation [he] delivered on the topic” of LINQ to ∞ Squared “Proof Obligation” and “Function Composition.”

    Jim Wooley’s LINQ is not an excuse for sloppy code post of 10/20/2008 warns developers to limit the number of elements returned to LINQ to SQL projects by LINQ queries by always including a Where predicate or Skip/Take function pairs.

    ADO.NET Data Services (Astoria)

    ••• Pablo Castro mentioned but refused to describe an unlisted PDC 2008 stealth session in Channel 9’s Astoria Design Walkthrough: No design... just plugging our PDC talks! video of 10/24/2008. The session turns out to be ES07 Modeling Data for Efficient Access at Scale (Wed 10/29 | 1:15 PM-2:30 PM | 403AB):

    Learn how to model data for cloud services. Topics include: mapping common data idioms to tables, tuning data models for common access patterns, and creating efficient queries.

    The interview also includes uninspired descriptions of Pablo’s TL08 Offline-Enabled Data Services and Desktop Applications (Wed 10/29 | 3:00 PM-4:15 PM | 408) and Mike Flasko’s TL07 Developing Applications Using Data Services (Tue 10/28 | 1:45 PM-3:00 PM | 151) published presentations.

    ••• Phani Raju takes on one:many associations in his Working with associations in ADO.NET Data Services , Part 2 tutorial of 10/23/2008. Part 1 of the series, Working with Associations in ADO.NET Data Services, of July 2, 2008 covered one:one associations.

    •• Pablo Castro describes several first-priority scenarios for “Astoria Online” in his Astoria futures: offline-enabled data services post of 10/22/2008:

    • Outlook-style 1-tier applications that connect to a local data store (presumably SQL Server Compact v3.5 SP1) and synchronize with an online data store such as SQL Server Data Services (SSDS), SQL Server 2008 running under Windows Server 2008 on Amazon EC2 or from a Microsoft data center.
    • Independent clients and servers in a synchronization relationship, such as a service that’s available for Web-based synchronization only.
    • Local replicas of cloud-stored data, such as SSDS entities stored locally on SSCE.
    • Data consolidation by synchronizing slices of data from multiple cloud-stored sources.

    Pablo’s Astoria Design Walkthrough: Thinking of a future with sync & offline video is a preview of his Offline-Enabled Data Services and Desktop Applications session at PDC 2008 (Wed 10/29 | 3:00 PM-4:15 PM | 408A).

    Scott Hanselman’s Informal .NET Subsystem Survey shows use of ADO.NET Data Services is substantially greater than that of Entity Framework based on the 4,899 responses that comprise his Survey RESULTS: What .NET Framework features do you use? post of 10/22/2008.

    Question: Did the respondents simultaneously select a LINQ to SQL or Entity Framework data source for Astoria? Doesn’t look like it to me from the data.

    Saaid Kahn, a Program Manager on the Visual Studio Pro Tools team, describes how to create an n-tier database application  using ADO.NET Data Services (Astoria) and an Entity Data Model, in this Channel 9 Interview: ADO.NET Data Services in Visual Studio 2008 SP1 of 10/21/2008 by Beth Massi. (Copied from EF.)

    Phani Raju’s Accessing Cross-Domain ADO.NET Data Services from the Silverlight Client Library of 10/20/2008 discusses guidelines for cross-domain access using the Silverlight Client Library

    Gil Fink describes Building an Ajax Client for ADO.NET Data Services to complement his previous Astoria posts:

    Roy T. Fielding’s REST APIs must be hypertext-driven post of 10/20/2008 takes the following position on the rules a REST API should follow:

    1. A REST API should not be dependent on any single communication protocol, though its successful mapping to a given protocol may be dependent on the availability of metadata, choice of methods, etc. …
    2. A REST API should not contain any changes to the communication protocols aside from filling-out or fixing the details of underspecified bits of standard protocols, such as HTTP’s PATCH method or Link header field. …
    3. A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing resources and driving application state, or in defining extended relation names and/or hypertext-enabled mark-up for existing standard media types. …
    4. A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). Servers must have the freedom to control their own namespace. …
    5. A REST API should never have “typed” resources that are significant to the client. Specification authors may use resource types for describing server implementation behind the interface, but those types must be irrelevant and invisible to the client. …
    6. A REST API should be entered with no prior knowledge beyond the initial URI (bookmark) and set of standardized media types that are appropriate for the intended audience (i.e., expected to be understood by any client that might use the API). …

    The way I read the full version of Fielding’s six rules, Astoria isn’t a RESTful API. Perhaps Pablo Castro would care to contest my conclusion or, for that matter, Fielding’s criteria.

    ASP.NET Dynamic Data (DD)

    ••• Rob Conery’s ASP.NET MVC Storefront Part 23: WebForms and Dynamic Data of 10/24/2008 announces the start of a new Commerce Starter Kit v3.0 that’s uses “components and business logic based on the same components and business logic used for MVC Storefront but with a traditional WebForms UI” that will use LINQ, support full localization, and other new features described in J Sawyer‘s Commerce Starter Kit 3.0 – CSK Reprise post of the same date. The project will include an administrative site based on DD and LINQ to SQL.

    You can watch this 15:00 video with Rob and J that describes the project. Support for CSK 3.0 will be part of J’s job description as a Microsoft developer evangelist.

    •• Steve Naughton continues his DD posts with a question from the Dynamic Data forum in his Dynamic Data - Hiding Tables on the Default.aspx page post of 10/24/2008.

    Steve Naughton’s Dynamic Data - Hiding Columns in selected PageTemplates of 10/20/2008 returns to IAutoFieldGenrators, attempts to specify the page template on which to hide columns.

    SQL Server Data Services (SSDS) and Cloud Computing

    ••• David Robinson of the SSDS team says in his 2 Days to PDC2008!!!!!!!!!!!!! post of 10/24/2008:

    We have some really super, pimped out, mack daddy, completely awesome stuff coming. Both in the teams presentations and in new features for Sprint 5. I just sent out the new features list to some internal softies for "Word Smithing" which you all should see in a few days, and the list is long and chock full o' goodies.

    PS - I promise much more posting after Monday.

    Promises, promises???

    ••• Ludwig Siegele analyzes the trend to mobile datacenters (Microsoft), virtualization (VMWare), and cloud computing (Amazon Web Services and Google App Engine) in his Where the cloud meets the ground: Data centres are quickly evolving into service factories special report for the 10/23/2008 issue of the Economist.

    •• Roger Jennings reports another spurious attempt to register a trademark on “Cloud Something” in Arista Networks Claims “Cloud Networking” As Its Trademark of 10/24/2008.

    ••• Alan Williamson will conduct a one-day, hands-on Cloud Computing Bootcamp on 11/29/2008 in conjunction with Sys-Con’s Cloud Computing Expo at San Jose’s Fairmont Hotel. The (pricey) registration fee rises from $1,695 to $1,795 tomorrow. (List price is $1,995.)

    •• Jeff Barr reports the following about Amazon EC2, Windows 2003 Server, and SQL Server 2005 in his Big Day for Amazon EC2: Production, SLA, Windows, and 4 New Capabilities post of 10/23/2008:

    • Amazon EC2 is now in full production. The beta label is gone.
    • There's now an SLA (Service Level Agreement) for EC2.
    • Microsoft Windows Server 2003 is now available in beta form on EC2.
    • Microsoft SQL Server 2005 is now available in beta form on EC2.
    • We plan to release an interactive AWS management console.
    • We plan to release new load balancing, automatic scaling, and cloud monitoring services.

    It will be interesting to see whether Microsoft’s corresponding offering (or SSDS) will be price-competitive and when it will go online with an SLA.

    It’s curious that Amazon is hosting non-current versions of Windows Server and SQL Server, which isn’t well-advertised on the AWS site. Perhaps Microsoft’s licensing terms were better than those for the 2008 versions.

    Mary Jo Foley chimes in with Amazon battens down the hatches before Microsoft’s cloud launch next week and Werner Vogels posts Using the Cloud to build highly-efficient systems.

    It wasn’t such a big day for Amazon stock: Down as much as 13% today (Thursday).

    For a synopsis of pricing, see my Amazon Web Services Announces SLA Plus Windows Server and SQL Server Betas for EC2 post. That post hit Techmeme at 3:05 PM EDT

    •• Jake Sorofman’s The Cloud Computing Adoption Model post of 10/23/2008 is a “context for thinking strategically about cloud computing” that’s “[l]oosely modeled after the Capability Maturity Model (CMM) from the Software Engineering Institute (SEI) at Carnegie Mellon University.” Note that CMM has been superceded by CMM-Integration (CMMI).

    Frank Gens predicts the Cloud Computing market will grow from $16 billion in 2008 to 42 billion in 2012, an annual compounded growth rate of 27% in IDC’s IT Cloud Services Forecast - 2008, 2012: A Key Driver of New Growth of 10/8/2008. IDC includes business applications, application development/deployment, system infrastructure software, storage, and servers expenditures in the estimates.

    You can watch a three-minute video summary of the prediction and download slides at Cloud Computing |Preparing for the Next 20 Years of IT.

    SSDS Team: Update Announcement Coming at PDC 2008 (10/20/2008)

    The following message hit my inbox on 10/20/2008:

    On October 27, 2008 we will be announcing, the next upgrade of SSDS at the PDC2008 conference in Los Angeles. In order to support this announcement, at that time we will update the documentation on the SSDS DevCenter site to include the new features in this upgrade. We will follow up on our PDC announcements, on the first day of the conference. …

    The SSDS upgrade to be announced at PDC will be made available to you in early November.

    Thank You,

    The SSDS Team

    Frank Gens’ IDC on “the Cloud”: Table of Contents post of 9/23/2008 offers links to recent IDC research on Cloud Computing:

    SQL Server Compact (SSCE) 3.5 and Sync Services

    Steve Lasker offers a tutorial for delivering SQL Server Compact (SSCE) with EF client applications in his Privately Deploying SQL Server Compact with the ADO.NET Entity Provider post of 10/21/2008. The highly detailed process covers SSCE installations on locked-down computers whose users don’t have Administrator accounts. (Copied from EF.)

    Liam Cavanagh reports on 10/20/2008 that the updated RTM1 version of the Sync Framework download reported in last week’s LINQ and Entity Framework Posts for 10/13/2008+ item is Not an Updated Version of Microsoft Sync Framework.

    Anthony Carrabino’s SQL Server 2008 Feature Pack Released post of 10/18/2008, which first appeared 10/21/2008 in the Data Platform Insider blog, notes that the Feature Pack includes SQL Server Compact SP1 and the Microsoft Sync Framework.

    And, for what it’s worth, Euan Garden reports that SQL Server 2008, Reportbuilder RTMs on 10/20/2008 (but it’s not in the Feature Pack).

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

    Aaron Skonnard delivers on 10/26/2008 two new episodes of his endpoints.tv WCF Screencast series on Channel9:

    Mike Taulty posted on 10/24/2008 detailed code samples for the first two of the three following questions that arose at his MSDN “Roadshow Rerun” in London

    1. Can ObservableCollection<T> cope with a particular element being replaced? Not Added. Not Deleted. Replaced.
    2. How to work with lookup fields in a database and data-bind to them?
    3. How to take action when an ItemsControl creates an item and get hold of the item's UI elements?

    John Papa’s Day of Silverlight 2 Recap post of 10/24/2008 has a link to the slide deck for his Day of Silverlight 2.0 presentation in Tampa, FL. Not surprisingly, his

    3.5-hour presentation [focused] on Silverlight 2 data binding, development techniques, using it with SOAP, ASMX, WCF, REST, 3rd party services, cross domain policies, debugging tips, and ADO.NET Data Services.

    The slides are quite informative but sample code would be even more so. So I’ve requested in a comment that John post the demo source.

    Microsoft has assembled a new SOA & Business Process site that, at least so far, consists primarily of agitprop for and links to existing Microsoft products and services. Hopefully, the site will gain some developer-oriented content after PDC 2008.

    Rob Conery, Scott Hanselman and Phil Haack are writing Professional ASP.NET MVC for WROX/Wiley, scheduled to hit the shelves in February 2009, according to Rob’s ASP.NET MVC DropDownList and HTML Attributes post of 10/21/2008.

    Mike Ormond’s ASP.NET MVC and Scottish Developers (Demo) post of 10/20/2008 includes a link to his demo code for the recent Scottish Developers User Group meeting.

    Sunday, October 12, 2008

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

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

    Updated 10/10/2008 to 10/12/2008: Added a few items
    Updated 10/9/2008 9:00 AM PDT: Added items
    Updated 10/8/2008 3:00 PM PDT: Added items
    • Updated 10/7/2008 5:00 PM PDT: SSCE, LINQ to XML, ASP.NET Dynamic Data, CLINQ, MVC Scaffolding

    Entity Framework and Entity Data Model (EF/EDM)

    Alex James has posted EDM and Store functions exposed in LINQ by Colin Meek and Diego Vega to the Entity Framework Design blog. This post describes “an extensibility mechanism that people can use to map arbitrary CLR methods to appropriate server and EDM functions” for EF v2. The authors say:

    It is actually possible for us to improve our LINQ implementation so that all functions defined in the EDM and in the store, and even user defined functions, can be mapped to CLR methods with homologous signatures.

    Matthieu Mezil continues his proof of concept (POC) for improving the behavior of ADO.NET Data Services with EF as the data source in his ADO.NET Data Services Hooking POC v2 post of 10/8/2008. His POC tries to resolve the following issues:

    ADO.NET Team posted Migrating from LINQ to SQL to Entity Framework: Eager Loading, the first of a series about migrating from LINQ to SQL to the Entity Framework, on 10/7/2008. The team says:

    This first post in the series covers Eager Loading in LINQ to SQL, and the steps for migrating to equivalent constructs in the Entity Framework in .NET 3.5 SP1. Subsequent posts will cover Deferred Loading, LINQ specifics, concurrency, mapping, stored procedure support, and other topics. As we continue to approach the next release of the Entity Framework we will revisit how some of the new features aid in migration.

    Tommy Williams claims to have a new version of one or more Entity Framework Toolkits & Extensions in his UPDATED WIKI: Home post of 10/6/2008. However, I can’t find a single item that was updated after 8/12/2008. Have I gone blind?

    Eric Nelson copies the tables from Elisa Flatko’s Introducing LINQ to Relational Data of January 2008 to his Q&A: Deciding between LINQ to SQL and LINQ to Entities post of 10/6/2008.

    Euan Garden’s High performance loading in SSIS for Oracle and Teradata post of 10/5/2008 points to the download for SSIS Connectors for Oracle and Teradata. You’ll need the Teraddata connector to load tables into SQL Server if you’re use EF or LINQ to SQL, because there’s no EF-enabled ADO.NET managed client for TeraData (yet).

    Kristofer Andersson’s Huagati DBML/EDMX Tools extend the automated Update LINQ to SQL Documentation from Database feature to Update ADO.NET Entity Data Model Documentation from Database.

    This new menu choice corrects the problem Kris notes in his Tools - Part 5 - Add-ins - Documentation features in Entity Framework vs Linq-to-SQL post of 9/5/2008:

    The appearance of “There are no comments for [name] in the schema” as the value of the Documentation property of each EntityType and its members.

    The option automatically imports description data and adds index information from table metadata in the same manner as for LINQ to SQL data sources. (Repeated from Sunday 10/5/2008).

    LINQ to SQL

    •••• Rick Strahl explains how to handle LINQ to SQL errors like the following in his LINQ to SQL DBML fails to build or open post of 10/10/2008:

    Error 1 Build failed due to validation errors in d:\path\filename.dbml. Open the file and resolve the issues in the Error List, then try rebuilding the project.

    Rick says “The fix is to run devenv /ResetSkipPkgs.”

    Daniel Crenna has completed with LINQ + WCF + Silverlight (Part Seven) his detailed seven-part series that architects a complete Silverlight 2 solution and uses LINQ to SQL as its data source. Click here for links to all seven parts.

    Corey Roth’s Updating Data with LINQ to SQL and GridViews when using a View post of 10/7/2008 describes how to deal with the The Entity is not of the correct type update errors when using an SQL Server view as the data source for a LinqDataSource and bound GridView controls.

    Rob Conery uses LINQ to SQL as the data source for his new SubSonic MVC Scaffold Addin released as a preview on 10/7/2008. See the Miscellaneous section for details.

    LinqMaster describes the LINQ to SQL syntax to assure that the T-SQL Where criterion generated for null-valued fields uses IS NULL instead of = NULL in his How to Use "Is Null" With LINQ to SQL post of 10/6/2008.

    Euan Garden’s High performance loading in SSIS for Oracle and Teradata post of 10/5/2008 points to the download for SSIS Connectors for Oracle and Teradata. You’ll need these to load Oracle or TeraData tables into SQL Server if you’re using LINQ to SQL.

    See Eric Nelson’s Q&A: Deciding between LINQ to SQL and LINQ to Entities post of 10/6/2008 in the “EF/EDM” category.

    LINQ to Objects, LINQ to XML, et al.

    Erick White describes in his Using LINQ to XML Events and Annotations to Track if an XML Tree has Changed post of 10/12/2008 a technique to track whether a document’s XML tree has changed by doing the following:

    • Add a couple of event handlers to the XDocument. One (or both) of these event handlers will be called if any changes whatsoever are made to the tree.

    • When the event handler method is called, remove the event handlers, and add an annotation to the XDocument of type ChangedSemaphore.

    • Then, at any point in time, examine the XDocument – if it has a ChangedSemaphore annotation, the XDocument has changed. If it has no ChangedSemaphore annotation, the XDocument is unmodified.

    Agnes Molnar (Aghy) announces Linq4SP - RC1 is available to download! on 10/8/2008.

    • Kevin Hoffman explains in his Smart, Deep Property Notifications in CLINQ v2.0 of 10/7/2008 a new feature in forthcoming Continuous LINQ (CLINQ) v2.0 that sends property change notifications only if they affect the current CLINQ query result set. This feature cures a serious performance issue with CLINQ v1.

    • Beth Massi offers links to download her LINQ to Everything and Taking Advantage of LINQ and Open XML in Office 2007 presentations to the SDN Conference in the Netherlands and their source code in her First Day at SDN Conference post of 10/7/2008.

    LINQ to Everything covers only the four VS 2008 SP1 implementations: LINQ to SQL, LINQ to Entitites, LINQ to DataSet and LINQ to XML. It takes a fast shuffle to cover that much territory in a one-hour (or so) session. Shawn Wildermuth presented a Cloud Computing session at the conference.

    Doug Rothaus of the VB Team shows you how to replace an XSLT transform with a VB XML literal in his VB XML Cookbook, Recipe 6: Writing an XSLT Transform in VB (Doug Rothaus) of 10/6/2008.

    Eric White’s Formatting LINQ Code post of 10/6/2008 describes his preferences for formatting LINQ to SQL Queries.

    Miguel de Icaza announces that Mono 2.0 has (finally) released in his Mono 2.0 Release Notes post of 10/6/2008. Mono 2.0 contains the following Microsoft-compatible API's that run on Linux, MacOX, and other Unix systems:

    • ADO.NET 2.0 API for accessing databases.
    • ASP.NET 2.0 API for developing Web-based applications.
    • Windows.Forms 2.0 API to create desktop applications.
    • System.XML 2.0: An API to manipulate XML documents.
    • System.Core: Provides support for the Language Integrated Query (LINQ).
    • System.Xml.Linq: Provides a LINQ provider for XML.
    • System.Drawing 2.0 API: A portable graphics rendering API.

    Other features include:

    • C# 3.0 compiler implementation with full support for LINQ and expression trees.
    • Visual Basic 8 compiler.
    • An implementation of .Net's System.Windows.Forms namespace
    • WebBrowser based on Mozilla's Gecko HTML rendering engine.

    Congratulations to all involved.

    Miguel de Icaza’s DbLINQ, LINQ to Databases and Mono post of 10/2/2008 links to Atushi Enomoto’s Mono's Linq to SQL effort based on DBLinq post of the same date, which describes a LINQ to SQL clone that supports multiple RDBMSs. (Repeated from 10/2/2008).

    ADO.NET Data Services (Astoria)

    Shawn Wildermuth posted on 10/10/2008 links to the source code for three of his four presentations at the SDN Conference near Amsterdam in SDN Conference - Demo Code. His NE22: Inside ADO.NET Data Services session demonstrated a Silverlight front end for an Astoria data source.

    Valeri Heristov demonstrates best practices for using the Telerik RadTreeView with load on demand and ADO.NET Data Service as its data source in his Silverlight TreeView Load on Demand post of 10/8/2008. The source code, which uses the Northwind sample database, is available for download.

    Matthieu Mezil continues his proof of concept (POC) for improving the behavior of ADO.NET Data Services with EF as the data source in his ADO.NET Data Services Hooking POC v2 post of 10/8/2008. The full details are in the EF/EDM section.

    • Adlai Maschiach’s IE – View RSS as plain XML [ADO.NET Data Services] post of 10/6/2008 shows you how to prevent IE 7 or 8 from displaying Astoria’s AtomPub output as an Atom feed. (But you already know how to do this now if you’ve used Astoria.)

    Phani Raju shows you how to avoid an Astoria & IIS , HTTP 400 Bad Request on Posting Large Payloads to an Astoria Service by setting the MaxReceivedMessageSize property on the WCF binding in his 10/6/2008 post.

    Aurelian Popa’s WF 4.0, WCF 4.0 and "Dublin" (Windows vNext) post of 10/6/2008 describes Dublin’s WCF REST features as follows:

    The WCF REST Starter Kit is an early preview of capabilities that will be shipped with WCF in the .NET Framework 4.0. The Starter Kit provides Visual Studio project and item templates for common RESTful scenarios: REST Singleton Service, REST Collection Service, ATOM Feed Service, Atom Publishing Protocol Service and HTTP Plain XML Service. WCF already includes REST support today; the starter kit will make it even easier to get REST services up and running using WCF.

    Undoubtedly Astoria v2 will take advantage of these features and might finally support POX over HTTP. I’ve been lobbying for POX over HTTP since Pablo Castro removed it from Astoria v1.

    ASP.NET Dynamic Data (DD)

    Steve Naughton adds custom metadata providers to the Table/Class objects in his Dynamic Data – Custom Metadata Providers post of 10/12/2008. These objects are an addition to the Column/Properties objects that Matt Berseth described in his Dynamic Data And Custom Metadata Providers of 8/24/2008.

    Steve Naughton continues his Dynamic Custom PageTemplates series with Dynamic Data Custom Pages: Dynamic/Templated FromView, which exchanges the FormView for ListView control. Steve says:

    Continuing on from Part 3 the same techniques will be applied to the FormView, making the FormView Dynamic and also having the facility to dynamically load user defined Templates at runtime.

    Scott Hanselman’s Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side detailed post of 10/1/2008 is intended to reduce “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together.”

    Rob Conery uses LINQ to SQL as the data source for his new SubSonic MVC Scaffold Addin released as a preview on 10/7/2008. See the Miscellaneous section for details. Rob’s project sounds to me like it will give DD a run for the money. Even if not, it’s destined to interest ASP.NET developers thinking of moving to Ruby on Rails.

    DAPanther gets the ball rolling with the first episode of his promised series: ASP.NET Dynamic Data, The Beginning… (Part 1 of 2) of 10/6/2008. This part starts a Visual Basic DD app based on the AdventureWorksLT database.

    Steve Naughton emulates a GridView with Insert capability in his Dynamic Data Custom Pages: Dynamic/Templated Grid with Insert (Using ListView) post of 10/5/2008.

    SQL Server Data Services (SSDS) and Cloud Databases

    •••• The JETLaw Blog’s What’s Hiding in the Clouds?: Privacy Issues with Cloud Computing post of 10/12/2008 expresses the concern that courts have held the privacy of information stored on the Internet to be less sacrosanct as that stored on an individual’s computer.

    •••• Roger Jennings wonders when Microsoft’s Cloud Services team will start reading from the same product-naming playbook in his Windows Strata: Here Yesterday, Gone Today post of 10/10/2008.

    Frank Gens produced IDC’s IT Cloud Services Forecast - 2008, 2012: A Key Driver of New Growth detailed research post of 10/8/2008. Frank says:

    In this post, We offer our initial forecast of IT cloud services delivery across five major IT product segments.we offer our initial forecast of IT cloud services delivery across five major IT product segments that, in aggregate, represent almost two-thirds of enterprise IT spending (excluding PCs).  This forecast sizes IT suppliers’ opportunity to deliver their own IT offerings to customers via the cloud services model (”opportunity #1“, as described in our recent post Framing the Cloud Opportunity for IT Suppliers).

    IDC expects Cloud Services spending to grow at a compounded rate (CAGR) of 27% during 2008 to 2012 versus all IT spending’s 7% CAGR. The post has numerous links to earlier IDC research items on Cloud Computing.

    Long Zheng asks “Windows Strata” - name of the Microsoft cloud OS? in his post of 10/2/2008. Long says:

    “Windows Strata” could be either another codename or even dare I say the final name for the “Windows Cloud” operating system Ballmer has been touting much lately as the name has recently condensed on the Microsoft Professional Developers Conference website.

    Amazon Web Services has published a Overview of Security Processes whitepaper “that should help answer some initial questions about physical and operational security processes for network infrastructure controlled by AWS.” Following are two interesting points that relate to SimpleDB:

    • AWS is working with a public accounting firm to ensure continued Sarbanes Oxley
      (SOX) compliance and attain certifications such as recurring Statement on Auditing
      Standards No. 70: Service Organizations, Type II (SAS70 Type II) certification.
    • AWS customers have built HIPAA-compliant healthcare applications using S3
      and other components.

    SimpleDB competitors, such as Google App Engine and SSDS, undoubtedly will be required to offer SOX and HIPAA-compliant security features.

    Aral Balkan explains Why Google App Engine is broken and what Google must do to fix it in his post of 10/3/2008. The problems he cites are:

    • 1MB limit on data structures must be removed.
    • Quotas must be handled optimistically, without crippling applications at the very moment that they should be benefitting from The Cloud.
    • The "intelligent throttling" "feature" and short-term CPU quotas must be removed.
    • The 1,000 item limit for offsets in queries must be removed.
    • Support for long-running processes must be added.

    Aral concludes that GAE is “25% ready for prime-time.”

    SQL Server Compact (SSCE) 3.5 and Sync Services

    Manikyam Bavandla’s How to: Authoring a 64-bit ClickOnce Bootstrapper package in Visual Studio 2008 SP1 of 10/6/2008 provides the details for creating a bootstrapper package for SQL Server Compact (SSCE) 3.5.

    Visual Studio 2008 Service Pack 1 (General)

    No posts as of 10/6/2008 9:00 AM PDT 

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

    Rob Conery’s MVC Storefront Part 22: Restructuring, Rerouting, and PayPal post of 10/11/2008 includes a long screencast (~50:00) about cleaning up his routing scheme, implementing PayPal Standard, and improving appearance with CSS tweaks. Source code is available as usual.

    Daniel Crenna has completed with LINQ + WCF + Silverlight (Part Seven) his detailed seven-part series that architects a complete Silverlight 2 solution and uses LINQ to SQL as its data source . Click here for links to all seven parts. (Copied from the LINQ to SQL section)

    Scott Hanselman interviews Rob Conery about SubSonic and his new SubSonic MVC Scaffold Addin (see below) in Hanselminutes Show #132 of 10/2/2008.

    •• John Papa has code updated to RC0 available for his Service Driven Apps with WCF and Silverlight 2 MSDN Magazine article from a link in Updated Sep 2008 MSDN Article Code for Silverlight 2 RC0 of 10/8/2008.

    •• Scott Hanselman’s detailed Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side post of 10/1/2008 is intended to reduce “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together” (repeated from the DD section).

    Rob Connery releases a 10/7/2008 preview of his SubSonic MVC Scaffold Addin, which will generate scaffolded Views and a Controller using [LINQ to SQL] similar to ASP.NET Dynamic Data. The pre-release requires MVC Preview 5. A 6:18 video with what sounds like a Roland 808 drum track on meth shows you how to get started with (what else) Northwind.

    Rob says:

    I didn't use SubSonic because IQueryable isn't ready to go. In addition, a LOT of people use [LINQ to SQL] and the goal here is to help as many people as I can. But I WILL be plugging in an option to use SubSonic. [Emphasis Added.]

    I believe Robs new Scaffold add-in, available as an MSI or ZIP file, will give MVC a major boost.

    Roger Jennings points out in his Google Analytics Data for the OakLeaf Blog, 9/4 to 10/4/2008 post of 10/5/2008 that the Oakleaf Systems blog is in the top 12% of all blogs tracked by Technorati for monthly page views and visitors and in the top 1.8% by Technorati Authority. (Repeated from 10/5/2008).

    Thursday, July 24, 2008

    LINQ and Entity Framework Posts for 7/21/2008+

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

    Updated 7/23/2008: Additions

    Eric White Asks: Are Developers Using LINQ?

    Erick wants to know:

    1. Do developers at your company understand and use LINQ?
    2. Do you?
    3. Can you see the benefit?

    Leave the answers as a comment to his Are Developers Using LINQ? post of July 24, 2008.

    Added: 7/23/2008

    Pat Helland Returns to the SQL Server Team from Developer Division

    Pat Helland, the champion of autonomous applications, announced his return to the SQL Server Group in his “Transferring to the SQL Team” post of July 23, 2008. He’s back after a hiatus at Amazon.com and a stint with Scott Guthrie and friends at the developer division.

    If you missed Pat’s famous “Autonomous Computing: Fiefdoms and Emissaries” presentation at Tech*Ed 2002, you can peruse the PowerPoints here.

    Pat says:

    Now, it turns out there is a really special opportunity for me to join a team in SQL called SIA (Strategy, Infrastructure, and Architecture).  This spot allows me to work on the business, technology, architecture, infrastructure, and more for one of the industry's leading products.  It also allows me to participate in driving some of the new changes in scalable cloud computing (which is, of course, where I am extremely passionate). [Emphasis added.]

    I think it’s safe to assume that “scalable cloud computing” = SQL Server Data Services (SSDS).

    P.S. You might enjoy reading Pat’s A Weekend at Foo Camp post of July 16, 2008 about his stay at this year’s Foo Camp in Sebastopol, CA.

    Added: 7/23/2008

    Marcelo Lopez Ruiz Warns ADO.NET Data Services Developers About Stack Overflows When Testing Asynchronous Calls

    In his Beware of stack overflows in asynchronous calls post of July 23, 2008, Marcelo discusses stack overflow errors when testing APIs of the ADO.NET Data Services client-side DataServiceContext. Marcello suggests:

    The fix in my case was to schedule the next piece of work to be done rather than executing it immediately in the callback. Whenever you're doing these sorts of things, SynchronizationContext is your friend, which in Silverlight is implemented in DispatcherSynchronizationContext. The Post method allows you to queue up a piece of work (execute asynchronously).

    Added: 7/23/2008

    Damien Guard Offers Full-Featured T4 Template to Generate LINQ to SQL Classes

    Damien’s Experimental LINQ to SQL template post of June 25, 2008 was an encouraging demo of how a T4 template might be used to customize generated LINQ to SQL class code. However, this early version was missing many features required to use the template for production projects.

    His new LINQ to SQL T4 template reloaded post of July 23, 2008 takes the early version to completion with the following features:

    • Runs from the DBML therefore keeping the designer in the loop
    • Generates all the attributes for columns and tables including UpdateCheck, IsDbGenerated, etc.
    • Supports associations including those with a foreign key
    • Generates appropriate attributes and code for both serialization modes

    The current version is C# only.

    Added: 7/23/2008

    Lawrence Jones Shows How the EDM Designer’s Update Model from Database Feature Works

    Lawrence’s three-part series about the EDM Designer’s Update Model from Database operation explains “the reason behind some of [its] oddities” and answers some frequently asked questions about the feature:

    Steve Naughton Starts ASP.NET Dynamic Data FieldTemplate Tutorial

    FieldTemplates are a key feature of ASP.NET Dynamic Data. Following are the links to episodes of Steve’s three-part series about FieldTemplates:

    Stephen A. Bolen Teaches NHibernate with a Series of Screencasts

    Scott Hanselman extols the virtues of Stephen’s Summer of NHibernate Screencast Series in his Learn How to use NHibernate with the Summer of NHibernate Screencast Series post of July 22, 2008. Six episodes were available as of 7/22/2008.

    Scott says:

    I used NHibernate as my Data Layer recently when I got ASP.NET MVC running under .NET 2.0 using NHibernate examples from Davy Brion (who has an NHibernate Category on his blog).

    NHibernate is very flexible, but it's a little overwhelming (for me, at least) to get started. Davy has a good "code-heavy" walkthrough of the concepts. Some NHibernate write-ups assume too much, IMHO.

    Perhaps to combat this, Stephen Bohlen has created the Summer of NHibernate Screencast Series as a learning tool to educate engineers at his company.

    Stephen says:

    "Often, our strategy for bringing people up to speed on [NHibernate] has been to rely on word-of-mouth and osmosis (often via pair-programming) to get the points across, but now we have a planned staffing ramp-up of a magnitude that will likely make that approach unwieldy."

    The screencasts give you deep insight into the complexities of NHibernate and how it differs from LINQ to SQL and the Entity Framework.

    Matt Hinze Delivers a Step-by-Step Tutorial for Checking Out and Testing LINQ to NHibernate

    Matt’s Linq to NHibernate in 10 minutes post of July 22, 2008 provides the steps you need to test the current release of LINQ to NHibernate from SourceForge’s NHContrib project with Jeffrey Palermo’s sample CodeCampServer project.

    Here’s the Tortoise Repository Browser displaying the NHibernate.LINQ source folder:

    Note: You must register for a SourceForge account before checking out projects.

    Daniel Leiszen Addresses LINQ4SP’s Query Evaluation to CAML Queries

    In LINQ4SP Query Evaluation of July 22, 2008, Daniel explains that some LINQ expressions can’t be converted to SharePoint CAML expressions. In this case, the query must be broken into a CAML query that can be executed on the SharePoint server and LINQ expressions executed on the client.

    Daniel Crenna Proposes a Pattern for Layering LINQ to SQL and WCF for Silverlight

    In the first of a multipart series, LINQ + WCF + Silverlight (Part One) of July 21, 2008, Daniel adds two lightweight classes, AdventureWorksRepository and AdventureWorksUnitOfWork, to those generated by the O/R Designer “to create a functional data layer.”

    Gianpaolo Carrera Posts a One-Hour Webcast About SaaS for Enterprise and ISV Architects

    Gianpaolo’s Software + Services for Architects Webcast post of July 21, 2008 provides a link to his one-hour SaaS for Architects Webcast with emphasis on Microsoft’s cloud-based services and includes two of its slides.

    The first slide (Big Pharma topic) applies to enterprises “wanting to optimize [their] IT environment[s] by leveraging a heathy mix between on-premises, SaaS and cloud” operations.

    The second slide targets “an existing ISV (LitwareHR topic) moving from ‘server based infrastructure’ (Win2k8, SQL, AD) to ‘cloud based infrastructure’ (cloud compute, cloud storage, cloud identity [and SSDS].”

    Gianpaolo mentioned that Microsoft currently is installing 10,000 servers per month to their cloud.

    C. C. Chai Finds a Paging Bug in SQL Server Data Services Async Queries

    C.C.’s A bug in paging (SOAP interface)? post of July 21, 2008 in the SQL Server Data Services (SSDS) - Getting Started forum spotted a problem paging asynchronous queries: The first group of results returns 499 instead of 500 entities. The SSDS team was able to duplicate the bug.

    Shawn Wildermuth Uncovers Issues When Hooking ADO.NET Data Services to LINQ to NHibernate

    In an earlier (July 20, 2008) post, Shawn finds Silverlight 2 + NHibernate.LINQ == Sweet. However, his NHibernate.LINQ with ADO.NET Data Services post of July 21, 2008 runs into Astoria’s “ID” bug, which Microsoft says will be fixed in the RTM version. You also must use a generic IList<T> for one:many associated entities.

    Shawn also notes Ayende Rahien’s reservations about “availability and scalability on the operations side, and schema versioning and adaptability on the development side” and cautions prospective users about Astoria’s lack of data security features.

    Scott Hunter Summarizes New ASP.NET Dynamic Data Updates

    Scott’s Many Updates on Dynamic Data post of July 21, 2008 describes updates to:

    Steven Walters ASP.NET MVC Tips Include Data Layer Advice

    Steve’s ASP.NET MVC posts include a series of tips for implementing this new technology. The following tips apply to LINQ to SQL:

    Proposed New FunctionImports Flexibility in Entity Framework v2

    Alex James’ Using Stored Procedures to load structured data post of July 18, 2008 describes plans to:

  • Allow FunctionImports to return unattached/untracked Entities
  • Allow FunctionImports to return ComplexTypes

    in Entity Framework v2. These features would supplement the EntitySet returned by FunctionImports mappings for scenarios where the entity or complex type returned by a stored procedure doesn’t require data tracking and updating.

  •