Showing posts with label Bindable LINQ. Show all posts
Showing posts with label Bindable LINQ. Show all posts

Sunday, October 05, 2008

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

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

• Update 10/5/2008: EF, Misc.

• Update 10/3/2008: EF, LINQ to SQL, LINQ, Astoria, SSDS additions. Minor updates 10/4/2008 8:30 AM PDT

Entity Framework and Entity Data Model (EF/EDM)

•• Matthieu Mezil contends in his ADO.NET Data Services Hooking POC post of 10/5/2008 that “sometimes, you need to develop your own entity classes which encapsulate your EF ones … [to] support all cases.” However, Matthieu says that “the flow between the Server and the DB isn’t optimized” and provides a pair of SQL Server 2008 data (ADONETDataServicesHookingPOC.mdf) and log (ADONETDataServicesHookingPOC_log.ldf) files from CodePlex as a proof of concept (POC).

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 informaton from table metadata in the same manner as for LINQ to SQL data sources.

You can download a free trial version of v1.36.3198.30279 of 10/3/2008 from here.

Julie Lerman reports in her Technology Deathmatch: LINQ to SQL vs. Entity Framework post of 10/3/2008 that Alex Thissen and Paul Gielens will be sparring partners in the smackdown at the Software Developer Network’s (SDN) Software Development Conference 10/6-7/2008 in Noordwijkerhout (near Amsterdam and Schiphol Airport.)

Hopefully, Alex and Paul will deliver the session in English and Julie will record it.

Update: Julie says the session will be in Dutch. Shucks.

Dennis van der Stelt delivers UK developers’ choice of database access technology on 10/1/2008. See the “LINQ to SQL” section.

• Ido Flatow cautions developers about slowly executing queries with related entities in his Entity Framework generated queries - look out post of 10/1/2008.

Julie Lerman announces on 10/2/2008 Programming Entity Framework available as a RoughCut within the next few days. She promised to post a linq when the first few chapters are available for downloading.

Mohammad Mosa demonstrates associations between twp base entities and shows you how to filter end properties to return specific type (subentity) in Inheritance and Associations with Entity Framework Part 3 of 10/1/2008.

Matthieu Mezil explains how to return the employees reporting to a specific supervisor when employee and supervisor records are in the same table in EF: how to do a recursive include? of 10/1/2008.

LINQ to SQL

Roger Alsing has implemented Jimmy Nilsson’s Workspace pattern with LINQ and will use NWorkspace in what appears to be a project for the Swedish government, according to NWorkspace / Linq Workspace Followup of 10/3/2008.

In a comment to an earlier post, DDD - NWorkspace Linq experiment of July 3, 2008, Roger says:

At the moment the project is just a small experiment so there is not much to show to the world. But I will continue to fiddle with it now during my vacation, so if I feel confident enough in it I will make it public. But for now it will just be my own toy.

He must be confident of NWorkspace if “a large portion of every Swedish citizens that turn 18 will pass through this system,” so it’s time to post the code. 

Dennis van der Stelt expresses surprise about the developers’ choice of LINQ to SQL (18%)and Entity Framework (13%) as the database access technology they would choose if starting a project on 1/1/2009.

In his Who is actually using LINQ or LINQ to SQL? post of 10/1/2008, Dennis quotes a recent Microsoft UK MSDN Flash newsletter. The fact that 41% plan to use ADO.NET (Commands, DataReaders, DataSets, etc.) is no surprise but the low ranking of other O/RMs is a shock to me: 7% Alternative ORM – Nhibernate, LLBLGen, EntitySpaces, etc.

I’d certainly like to see a similar survey for the US.

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.

LINQ to SQL was designed to do the same, but the Data Programmability group restricted the RTM version of SQL Server-only.

Mike Taulty binds a LINQ to SQL Data source to a WPF master/details form with WPF DataGrids in his DataGrid - Master/Details post of 10/1/2008.

LINQ to Objects, LINQ to XML, et al.

Jim Wooley reports in ThinqLinq on Deep Fried Bytes of 10/03/2008 that Keith and Woody interviewed him for Episode 14: LINQ’ing the Future of Development with Jim Wooley (MP3).

Paul Stovell starts writing documentation for his Bindable LINQ component in his Bindable LINQ: What is Bindable LINQ? post of 10/1/2008.

Paul Stovell’s Bindable LINQ: F# is Overhyped post of 10/1/2008 reflects his preference functional reactive programming over F#.

Beth Massie promotes her latest article in the October 2008 issue of MSDN Magazine - Dynamic Data Entry With XML Literals of 10/1/2008.

LinqMaster tells you How to Use LINQ OfType Standard Query Operator on 10/1/2008.

Garvin Clark observes in his IBM, Sun, Microsoft sink differences on VMs The Register article of 10/1/2008:

Among those heading to Sun's offices [for the JVM Language Summit] were computer languages expert and Microsoft architect Erik Meijer - who helped create the Language Integrated Query (LINQ) and Microsoft's experimental Volta tools language.

See the “Miscellaneous” section for more about Volta’s recent disappearance from Windows Live Labs.

ADO.NET Data Services (Astoria)

Phani Raj’s DataServiceContext: Detect if there are pending changes post of 10/3/2008 explains Astoria’s DataServiceContext object and its two collections, Entities and Links, that you can test for state and determine if they have changes pending.

Mike Flasko said in slide 9 of his ADO.NET Data Services for the Web (a.k.a. Project "Astoria") presentation at Remix UK 08 that an ASP.NET DataSourceControl for ADO.NET Data Services is coming “in the future.”

Mike insists on the using term LINQ for ADO.NET Data Services for the Astoria pseudo-implementation (string-based LINQ syntax) instead of LINQ to Astoria or (my favorite) LINQ to REST. Hopefully, the new control will be named RestDataSourceControl rather than AdoDotNetDataServicesDataSourceControl.

Eric Nelson’s Entity Framework and Data Services in one slide – a work in progress crams a diagram of ADO.NET Data Sources and its Entity Framework data source onto a single PowerPoint. Looks like a good start to me, but an arrow or two is missing and some seem to me to point in the wrong direction or the connectors should be double-headed.

Shawn Wildermuth describes problems with Silverlight and ADO.NET Data Service Operations on 10/1/2008.

ASP.NET Dynamic Data (DD)

Scott Hanselman intends to prevent “confusion about how ASP.NET WebForms, MVC and Dynamic Data all fit together” with his detailed Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side post of 10/1/2008. If you’re into MVC and/or DD, this post is a must-read.

Scott Guthrie returns to link blogging with October 2nd Links: ASP.NET, ASP.NET MVC, ASP.NET Dynamic Data of 10/2/2008.

DLPanther continues to hype his forthcoming ASP.NET Dynamic Data, The Data Revolution is here! series with a 10/1/2008 post about prerequisites. Where’s the beef?

SQL Server Data Services (SSDS)

Bob Cringley’s Data Debasement: Cloud computing will change the way we look at databases column of 10/3/2008 takes the position that large-scale in-memory databases of the future will run on top of MapReduce and the Google File System, which is to say will run under the Google App Engine. This, of course, ignores Amazon SimpleDB, Microsoft’s SSDS, and relational database systems hosted by Amazon EC2 and in Microsoft Data Centers. Bob concludes:

[I]t looks like [Larry Ellison]'s bought up most of the traditional database-centric software industry just in time for it to be declared obsolete.

This has been a BIG week for cloud database news!

Note: Bob was a panelist at MIT’s Emerging Technologies Conference 08 held 9/23/-25/2008. Microsoft’s Craig Mundie and Amazon’s Werner Vogels were among the keynote speakers. Microsoft and Amazon Web Services were sponsors. Cloud computing appears to be a bit off-topic for a Parallel Computing panel discussing multi-core computer usage.

Soumitra Sengupta delivers the SSDS Team’s Data Service differentiation from hosted RDBMS instances in SQL Server Data Services Team Architect Contrasts SSDS with SQL Server Under Amazon EC2 of 10/3/2008. The contents of the post are from a comment to my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008 (see below).

Herb Torrens provides an analysis of cloud computing’s current status in his Coming to Terms With Cloud Computing article of 10/2/2008 for Redmond Developer News. Torres offers one of the better second-hand definitions of cloud computing I’ve heard so far:

[Forrester analyst James] Staten defined cloud computing as "a pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting customer applications [that are] billed by consumption."

Herb’s article includes references to Microsoft “Red Dog” projects which analysts believe is what Steve Ballmer called “Windows Cloud” on 10/1/2008 during a Software plus Services (S+S) partner event in London, according to the Register’s Kelly FiveAsh. Details are expected at the Professional Developers Conference (PDC) 2008 in Los Angeles, 10/27/2008 to 10/30/2008.

Jas Dhaliwal’s Steve Ballmer’s Keynote in London post of 10/2/2008 contains a full-length (40:00) video of Steve’s presentation and a transcript of the Q&A segment.

Roger JenningsAmazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008 analyzes the effect of the addition of Windows Server and SQL Server 2008 hosted on Amazon EC2 to the cloud computing marketplace. He also proposes a new metric: TCNO (Total Cost of Non-Ownership).

SQL Server Compact (SSCE) 3.5 and Sync Services

No posts as of 10/2/2008 2:00 PM PDT

Visual Studio 2008 Service Pack 1 and Later (General)

Steve Martin describes The Road to PDC - .NET Framework 4.0 and “Dublin” in a detailed post of 10/1/2008.

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

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.

• Ayende Rahien continues his virtuoso analysis of the CouchDB document database while learning to read Erlang in these two new posts:

The posts are lengthy and amazingly detailed.

Rob Conery promises personalization, support for PayPal, and better conformance to his new core MVC template in MVC Storefront's Next Episode of 10/3/2008.

Mary Jo Foley learns that Live Labs kills Deepfish; suspends Volta downloads on 10/2/2008. However, she quotes a Microsoft representative as denying that Volta was being discontinued, but that’s all the rep would say. Very strange.

Mike Taulty wants help with WPF DataGrid and Hiding Columns on 10/1/2008.

Sunday, September 21, 2008

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

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

Updated 9/20/2008 and 9/21/2008 Additions EF, Astoria, LINQ to Objects, SSDS, etc. 
Updated 9/19/2008 8:30 AM PDT Additions LINQ to SQL, SSDS
Updated 9/18/2008 8:30 AM PDT Additions SSDS
• Updated 9/17/2008 9:30 AM PDT Additions

Entity Framework and Entity Data Model (EF/EDM)

•••• Roger Jennings demonstrates Huagati System’s Huagati DBML/EDMX Tools for solving EF v1’s EntitySet pluralization issue (below) in his Singularizing EntityType and Pluralizing EntitySet Names with the Huagati DBML/EDMX Tools post of 9/21/2008.

•••• Roger Jennings complains about arbitrary and capricious renaming conventions for EF EntitySets in his Forcing Gratuitious Pluralization of EF EntitySet Names Was a Very Bad Decision post of 9/20/2008.

• Julie Lerman correctly defines niladic as “having no arguments” in her EDM Stored Procedures - what the heck is niladic? post of 9/17/2008. Niladic, monadic, and dyadic functions have 0, 1, and 2 arguments, respectively. SQL Server uses the term niladic to refer to system functions, such as @@identity or @@error, which is probably where the Data Programmability group came across it. I recall use of the term in conjunction with APL programming in the late 1970s.

• Matthieu Mezil reports in his TPT with designer can generate errors 3034 or 3021 post of 9/17/2008 that the EDM Designer has problems with a pair of scenarios for the Table per Type inheritance model.

Beth Massi uses Entity Framework as the data source for her Editing Tabular Data in WPF - Building a WPF Grid post of 9/15/2008. Beth explains how the WPF ListView and BindingListCollectionView combine to create an editable WinFoms DataGridView clone.

It’s unfortunate that there’s no drag-and-drop wizardry to generate a codeless WPF project. You must write all the XAML yourself (or copy it from Beth’s post.) Alternatively, you can download the code for this and a previous post, Editing Tabular Data in WPF Using the Winforms DataGridView, from the Editing Tabular Data in WPF item on MSDN Code Gallery.

LINQ to SQL

Jim Wooley’s Enabling intellisense for LINQ to SQL XML Mapping files post of 9/18/2008 explains how to obtain and install the LinqToSqlMapping.xsd schema file to support the xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007" namespace if it’s missing from your installation of VS 2008 SP1’s \Program Files\Microsoft Visual Studio 9.0\Xml\Schema folder.

This problem was reported in a Microsoft Connect bug report, which was acknowledged by Microsoft as a known bug. However, it wasn’t missing from my installation.

Damien Guard released the latest update to his LINQ to SQL template for Visual Studio 2008 on 9/14/2008. Damien says:

If you want to customize the LINQ to SQL code generation phase in your project without additional tool dependencies this could be what you’re looking for. The template has been improved since publication with fixes for column mapping defaults, enum parsing and now generates stored procedure wrapper methods.

This Text Template Transformation Toolkit (T4) version offers the following new features:

    • Inheritance - generates subclasses with all properties and code mappings.
    • VB.NET - CSharpDataContext.tt is joined by a VB.NET emitting VBNetDataContext.tt.
    • DataContract SP1 – additional mode to emit SP1-compatible DataContract serialization via Roger Jennings.
    • Composite keys – both as the primary key and as a foreign key in an association.
    • Type attributes – the data context and entity types can now be sealed or abstract as well as public, private, protected, internal or protected internal.
    • Associations – prevents foreign key values changing once the object association is made and updates parent side of one-to-many associations.
    • Stored procedures – generates the method wrappers complete with parameters etc.

  Damien added in a message and blog update of 9/18/2008 that the version current as of 9/19/2008 has “full stored procedure support which actually works with concurrency checking (unlike SqlMetal’s which silently fails.)

LinqMaster’s How to Speed Up LINQ to Sql With Compiled Queries post of 9/15/2008 reminds us that compiling LIQ to SQL queries speeds their execution, as Rico Mariani discussed in his famous quintet of posts on the same topic.

LINQ to Objects, LINQ to XML, et al.

•••• Damon Wilder Carr delivers LINQ to GAC in his Linq to Gac : Use Linq to Power Query your Gac via this C# Bridge to Fusion team domain.dot.net post of 9/20/2008 to “get LINQ access to the GAC with no fuss.”

•••• John Papa describes a LINQ to Objects query that mashes items from several different feeds together (from an ObservableCollection<SyndicationFeed> type), and sorts them by date in his LINQ to RSS/ATOM (Kind of) post of 9/20/2008. John says:

Its pretty basic LINQ, but when combined with the way cool SyndicationFeed and SyndicationItem classes, I think its pretty darn awesome.

I agree; it nicely demonstrates the ubiquitous nature of LINQ queries.

•• Ken Getz’s recent “Advanced Basic” columns for MSDN Magazine provided yet more coverage of LINQ Enumerables:

  1. The LINQ Enumerable Class, Part 1 (July 2008) was “a quick tour through half of the methods in the Enumerable class.”
  2. The LINQ Enumerable Class, Part 2 (September 2008) “digs into the System.Linq.Enumerable class and shows readers how to perform some magic data operations using System.Linq.Enumerable.”

Is there any indication of when readers will say enough to LINQ to Objects rehashes? However, Ken’s are better than most.

• Eric White observes in his Congratulations to a Couple of Cool People post of 9/16/2007 that “the strongly typed XML programming API of version 2 of the Open XML SDK was very much inspired and influenced by LINQ to XSD,” but “[s]o far, LINQ to XSD hasn't become a supported product.”

It’s time for the Data Programmability group to move LINQ to XSD out of hibernation as an alpha product and support it!

Paul Stovell reports on his progress in simplifying Bindable LINQ by removing multi-treaded operation and substituting synchronous dispatchers in Bindable LINQ: Threading of 9/16/2008.

Bart De Smet’s strangely named Who ever said LINQ predicates need to be Boolean-valued? post of 9/14/2008 is a paean to LINQ’s flexibility that covers these topics:

  • The LINQ provider spectrum: Completely local to completely remotable
  • LINQ as a language pattern: “Just like foreach, lock, using, etc are patterns on top of other stuff (IEnumerable, Monitor, IDisposable, etc).”
  • A different view on predicates: Where as a filtering operator
  • Taking it across the border: IQueryable (or something like it)
  • Staged migration of query languages: LDAP’s ~= operator, CAML’s DateRangesOverlap() method
  • Conclusion: Six ways to write LINQ-aware APIs

ADO.NET Data Services (Astoria)

•••• Keith Pijanowski’s My talks on REST and S+S at VSLive New York 2008 post includes links to his “RESTful Services with Windows Communication Foundation” presentations a VSLive! New York. It also has links to download Nikhil’s Web Development Helper, which “provides a set of tools and utilities for the Web developer, esp[ecially] Ajax and ASP.NET developers,” and links to Rob Bagley’s 10-part REST in WCF blog series.

•••• Mike Taulty posts sample code from his REMIX UK sessions on Silverlight and WPF in his REMIX UK - "No Silverlight Application is an Island" Code post of 9/20/2008:

  1. Interacting with the HTML DOM and Javascript. Project download.
  2. Interacting with the local machine via the file dialog and Isolated Storage. Project download.
  3. Interacting with a SOAP based web service. Project download.
  4. Interacting with a RESTful web service. Project download ( note, there's some small bits of SQL to run to make this one work - in a sub-folder called SQL ). Note also you'll need the updated Silverlight client bits for ADO.NET Data Services.
  5. Interacting with RSS/ATOM. Project download ( note, I skipped by this one yesterday as I was running out of time ).
  6. Interacting with Sockets. Project download.

•• Richard Blewett’s three-part “Why REST Web Services?” article on the rejuvenated Developer Fusion site analyzes the trade-offs between SOAP and REST SaaS applications:

  1. What's wrong with SOAP
  2. What is REST?
  3. Is REST perfect?

• Daniel Pratt reports that the RTM version of Astoria with Entity Framework as the data source doesn’t support navigation properties on derived types in his Navigation properties on derived types message of 8/24/2008 in the ADO.NET Data Services (Pre-Release) forum. Microsoft’s Pratik Patel says:

[T]his didn't make it for the V1 timeframe. We really wanted to support this so that users can use inheritance in the entity model. This is one of the most important features we are targetting for V2. V1 just went out, so it will be some time before we do a beta/ctp for the next release.

Thanks to Matthieu Mezil for the 9/17/2008 heads up on that message.

ASP.NET Dynamic Data (DD)

•••• Matt Berseth now has links to live demos of his five DD demonstration projects on his Dynamic Data Demos Now Available post of 9/21/2008/. Most of the demos have substantial customization applied.

Rick Anderson of the ASP.NET User Education (UE) group has posted a detailed analysis of the Differences When Working with the ADO.NET Entity Framework to LINQ to SQL with ASP.NET Dynamic Data (ANDD). This post is a must-read for developers considering using EF instead of LINQ to SQL as the data source for ANDD. (LINQ to SQL was the only data source for early ANDD versions.)

Some highlights:

  • Many-to-many relationships don’t support navigation; a relation table is required.
  • Complex types aren’t supported.
  • ANDD doesn’t detect auto-generated (int identity or rowguid) primary keys; a partial class for the Insert page with a Scaffold value of false for the primary key field is required
  • ListView controls require special treatment of foreign key fields

This post hasn’t received the attention it deserves.

Matt Berseth substitutes the Yahoo! User Interface (YUI) JavaScript library’s DataTable and DataSource controls for DD’s DataGrid and EntityDataSource or SqlDataSource controls in his Dynamic Data - Experimenting with YUI's DataTable and DataSource Controls post of 9/15/2008.

Steve Naughton supplements his early July FileImage_Edit FieldTemplat posts with Dynamic Data: Part 3-FileUpload FieldTemplates of 9/15/200, which let you:

  • Upload a file to a specified folder.
  • Download the said file once uploaded.
  • Display an image for the file.
  • Control the download capability via attributes and user Roles.
  • Handle errors such as wrong file type or when file is missing from upload folder.

SQL Server Data Services (SSDS)

•••• Keith Pijanowski, Microsoft strategy platform advisor, outlined the high-level architecture strategy in a session entitled "Navigating the Software Plus Services Landscape" to Kathleen Richards, senior editor of Redmond Developer News and Application Development Trends as reported in her VSLive! NY: A Glimpse of .NET Framework in the Cloud story of 9/10/2008.

His My talks on REST and S+S at VSLive New York 2008 post of 9/9/2008 include links to his “Navigating the Software plus Services Landscape” and “RESTful Services with Windows Communication Foundation.” (See the related Astoria item.)

Soumitra Sengupta’s SSDS at PDC 2008 post of 8/18/2008 describes the four SSDS presentations at PDC 2008:

  1. Microsoft SQL Server: Data-Driven Applications from Device to Cloud - Dave Campbell
  2. A Lap around SQL Server Data Services - Soumitra Sengupta
  3. Under the Hood: Building SQL Server Data Services - Istvan Cseri and Gopal Kakivaya
  4. SQL Server Data Services: Futures - Patric McElroy

Soumitra also recommends these related sessions:

  1. Microsoft Sync Framework: Enterprise Data in the Cloud and on Devices - Liam Cavanagh
  2. Microsoft Sync Framework Advances - Lev Novik
  3. Developing Applications Using Data Services - Mike Flasko
  4. Entity Framework Futures - Tim Mallalieu
  5. Project "Velocity": A First Look - Murali Krishnaprasad
  6. A Lap around Building Block Services - John Shewchuk
  7. Architecture of the Building Block Services - Dennis Pilarinos, John Shewchuk

 Werner Vogels, Amazon.com’s CTO, announced in his Expanding the Cloud post of 9/18/2008 that Amazon Web Services’ S3 service will be complemented by a new content delivery network (CDN) later this year. Amazon’s CDN will feature a “global network of edge locations this new service [that] can deliver popular data stored in Amazon S3 to customers around the globe through local access.”

While not competing directly with SSDS or other current Windows Live services, AWS’ expanded service repertoire indicates that Amazon plans to maintain its current #1 position in cloud computing. For more background and details, read Jeff Bar's post on the AWS weblog and Om Malik’s Amazon Launches Content Delivery Network. Rivals, Watch Out! article of 9/18/2008.

 Alex Iskold, founder/CEO of AdaptiveBlue, says (quoting an anonymous Amazon evangelist):

AWS now handles 50k requests per second from 400,000 developers. Bandwidth from AWS is now almost double the bandwidth of Amazon.com’s retail operations.

Niraj Nagrani has scheduled his TechNet Webcast: SQL Server Data Services Launch (Level 200) for 11/14/2008. See SQL Server Data Services to Launch On or Before 11/14/2008? of 9/18/2008 for a screen capture in case the SSDS folks change their mind on the “release,” which I think is the public beta.

Jeffrey Schwartz’s Reaching For The Clouds With SSDS Microsoft gives cloud-based repository lots of air play (excuse the pun) post of 9/15/2008 to the Redmond Developer New blog reviews Microsoft account architect Jim Williams’ SQL Server Data Services: An Introduction and Overview of Microsoft's Cloud Storage Service session about SSDS at VSLive! New York last week. Jeffrey’s article has a link to my SQL Server Data Services: Data storage in the cloud Tech Brief.

I’ve heard of building architects, software architects, and application architects but “account architect” is a new one for me. I wonder what pay grade Microsoft assigns to “account architects” and whether they have an industry association? Association of Account Architects? American Institute of Account Architects?

• Amitabh Srivastava, Microsoft VP of Cloud, Infrastructure, & Services, is interviewed on Channel9 for 9:02 about the cloud services sessions at PDC 2008. Here’s the deck:

In a very special edition, the VP of CIS, joins Mike and Jennifer to talk about what his team will be revealing at PDC (well, he can’t really say that much yet – you’ll just have to go to the PDC to find out his news).  An  11 year Microsoft veteran, Amitabh joined Microsoft in 1997 working in our Research group.  Now he works for Ray Ozzie, and the PDC is the coming out party for his team and what they’ve been working on in the Services space.

Much of the nine minutes was devoted to a discussion of utility computing (a la SSDS.)

• John Papa foresees cloud services as a major application for the next version of Silverlight in his Cloud Services are Important to Silverlight’s Future. John says:

I’m looking beyond this release a what might be in the next release. I think we’ll see a lot of graphical improvements, but where I see a great opportunity for growth is in the area of building more expansive cloud services support with Silverlight. Security, improved REST service interoperability, PUT, DELETE, increasing the HTTP stack, and other features that make working with cloud services would greatly enhance development in Silverlight and give it a big edge over competition. Who knows what [else] we’ll see, but from everything I hear from readers, there is a lot of interest in this area.

Roger Jennings wrote the SQL Server Data Services: Data storage in the cloud Tech Brief for the 9/15/2008 edition of Redmond Developer News. Click here to view the simple SSDS diagram.

For a deeper look into SSDS’s workings and updated test harness sample code, check out the fully illustrated Updated SQL Server Data Services (SSDS) Test Harness: Northwind REST and SOAP Uploads of 7/27/2008.

SQL Server Compact (SSCE) 3.5 and Sync Services

The Sync Framework Team announced v1.0 Service Pack 1 of Sync Services for ADO.NET on Devices (Windows Mobile) on 9/16/2008. This download lets you synchronize between a server database and a SQL Compact database on a Windows Mobile 5 or 6 device.

This announcement makes it more important than ever for SSDS to align with ADO.NET Data Services architecture in advance of the release of “Astoria Off-Line.”

Visual Studio 2008 Service Pack 1 (General)

No new posts as of 9/17/2008 9:30 AM PDT 

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

Mike Taulty attempts in his Silverlight and WPF - Sharing Library Projects post of 9/21/2008 to create the following releases with common source code:

  • Desktop Debug
  • Desktop Release
  • Silverlight Debug
  • Silverlight Release

“but loading this project into Visual Studio looks to confuse Visual Studio.” Mike is looking for help from MSBuild gurus.

The Windows Live Writer Team has released an update to the WLW beta that appears more stable than the original WLW Wave 3 Technical Preview that I’ve been using the the past few weeks. The update is still a beta, but this version has received a very attractive visual upgrade.

Click here for the installer that lets you select the Live applications to install: Messenger v9, Windows Live Movie Maker, Mail with Calendar synchronisation, Writer, Photo Gallery, Family Safety and the Outlook Connector. You can’t deselect updates to the WLW and Live Mail betas.

Rob Connery finally finished his MVC Storefront Part 21: Order Manager and Personalization video segment on 9/16/2008. Rob says:

The first part is devoted to expanding the Order management pipeline bits - Charging, Shipping, and Cancellation. I expand on Windows Workflow and also create a separate code-based pipeline for those who don't want to use WWF. The second part is all about plugging in User Tracking and what it means to plant data that you can mine later.

Aaron Skonnard’s announces in his The "Endpoint" show on Channel9 post of 9/16/2008 that his WCF Endpoint screencasts have moved to Channel 9. Following are links to the four current episodes:

WCF and WF posts alternate in four-week cycles. The next WCF post is due

Dan Wahlin shows you how to use Silverlight 2 User Input Controls for data input in his “Wahlin on .NET” column for the September 2008 issue of Visual Studio Magazine.

Jeffrey Palermo is interviewed by Bob Familiar about Architectural Concerns for the ASP.NET MVC Framework at Tech*Ed 2008 Developer. Here’s the deck:

Join Jeffrey Palermo for a boots-on-the-ground talk about how to fit ASP.NET MVC into your Web application architecture while avoiding some of the pitfalls common with Web Forms. We'll cover the following in depth: designing for testability, loose coupling, separation of concerns, automated testing of controller actions, dependency injection, and leveraging IoC container support from the MvcContrib open source project.

Thursday, June 12, 2008

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

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

Updated 6/11/2008 and 6/13/2008: See Added and Updated flags below.

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

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

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

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

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

Added: 6/13/2008

Phil Haack Promises Future Posts about Integrating Web Forms with MVC

He says in ASP.NET MVC And Dynamic Data Learn To Play Well Together of June 11, 2008:

I’ve been working on a post detailing a couple different ways to integrate WebForms and MVC, but life has been really busy for me lately. Hopefully I’ll get that to you soon.

In the meanwhile, you can probably learn all you need to know by looking at [MvcDynamicData.zip on this Code Gallery page.]

Added: 6/13/2008

Jim Wooley Demos LINQ to SQL with Plain Old CLR Objects (POCO) During the Tech*Ed Tweener Weekend

Jim’s LINQ to SQL support for POCO post of June 11, 2008 describes his Tweener demo as follows:

I created two separate projects. The first class library project, I created only targeting the 2.0 framework. As a result the project can not use any LINQ specific techniques. This will also allow us to consume the resulting objects in projects that do not have access to the newer framework, or to all of the namespaces. This is particularly important in cases like Silverlight. To call attention to the differences in the projects, I declared the 2.0 project in C# and the LINQ enabled project in VB.

His post includes a link to download the demo projects.

He also posted a link to his Tech*Ed Speaker Idol presentation, Screen scraping and creating Word documents with LINQ to XML.

Added: 6/13/2008

Julie Lerman Wants a Simpler Implentation of “Eager Deferred Loading” in Entity Framework

Danny Simmons provided an example of combining the Attach() and Include() methods with the CreateSourceQuery() surrogate for the Load method to return associated child and grandchild records in the ADO.NET Entity Framework and LINQ to Entities (Pre-release) forum’s Re: v2 Wish Lists - Add Yours Here thread.

Julie says in her Eager Deferred Loading of related entities post of June 11, 2008, that customer.Orders.Attach(customer.Orders.CreateSourceQuery().Include("Order_Details")) is “awfully convoluted,” but it works.

Added: 6/11/2008

Rob Conery Does MVC Storefront Part 14 with AJAX Control Toolkit and a Narrative Preview of IQueryable<T> in SubSonic 3.0

The screencast of Rob’s MVC Storefront Part 14: Ajax With Shawn Burke post of June 10, 2008 introduces ASP.NET AJAX to his MVC project to provide async form posting. Rob mentions that Phil Haack is in the process of AJAX-enabling the ASP.MVC library, so Rob’s code will be obsolete in a few months.

In SubSonic 3.0: IQueryable Update of the same date, Rob discusses the challenges of writing an expression tree with a visitor to translate LINQ Select queries to his SubSonic intermediate query language, thanks to Matt Warren’s Building an IQueryable Provider: Part II - Where and reusable Expression tree visitor post of July 31, 2007. Everyone working on LINQ-enabled data providers for databases or object/relational management (O/RM) tools is indebted to Matt for his detailed seven-part series.

Added: 6/11/2008

Maíra Wenzel Shows You How to Create Your Own Custom Metadata Attributes for ASP.NET Dynamic Data Entity Sets or Properties

Maíra’s Using custom attributes in Dynamic Data post of June 4, 2008 explains the process for writing and consuming custom metadata attribute classes by inheriting from Attribute and applying the AttributeUsage attribute. Her example changes the ForeColor of a property to a member of the KnownColor enumeration.

Added: 6/11/2008

Tech*Ed 2008 Panel Presentation: Occasionally Connected Systems

The following folks involved in occasionally connected systems (OCS) and ADO.NET Sync Systems:

  • Ginny Caughey - Microsoft MVP, Wasteworks
  • Steve Lasker - Sr. Program Manager, Microsoft SQL Server Compact
  • Rob Tiffany - Microsoft Mobility Architect
  • Rob Relyea - Architect, WPF Team
  • Liam Cavanagh - Sr. Program Manager, Microsoft Sync Framework

got together at Tech*Ed 2008 Developer to discuss storage, sync, programming model and UI for OCS. One of the new topics the panel discusses is republishing subscriptions for scalability.

The video is available here in multiple formats: Building Offline Enabled Applications [MP4] [WMV Hi] [WMV Lo]

Added: 6/11/2008

Scott Hunter Discusses the ASP.NET Dynamic Data Runtime on .NET Rocks

.NET Rocks Scott Hunter on Microsoft Dynamic Data (Show #349) post carries this deck:

Carl and Richard talk with Scott Hunter on Microsoft's Dynamic Data Runtime, which provides scaffolding and dynamic data services to developers.

ASP.NET Dynamic Data content starts at about 09:00.

At ~13:30, Scott mentions ADO.NET Data Services (Astoria) and LLBLGen Pro data layer for Dynamic Data and an intention to support NHibernate as a data layer. I don’t see an advantage to the use of Astoria, but support for LLBLGen Pro and NHibernate would be very welcome. You can read more about LLBLGen Pro support in Frans Bouma’s Dynamic Data and 3rd party o/r mappers is a fact post of May 1, 2008.

Scott Hanselman says the following about Dynamic Data and NHibernate:

In the future, watch for the possibility of Dynamic Data for POCO (my term, not the teams), Dynamic Data for Silverlight and Dynamic Data for MVC. Now is your opportunity to be heard. I'd like the idea of Dynamic Data for NHibernate myself, so I'm pushing for that. Feel free to engage in the Dynamic Data Forums or post bugs on this release in the issue tracker.

Scott Hunter confirms at ~47:00 that Dynamic Data for MVC is in the works for the next version.

Added: 6/10/2008 10:30 AM PDT

Updated 6/11/2008: Frans Bouma’s Dynamic Data and 3rd Party O/R Mappers Is a Fact post of May 1, 2008 described LLBL Gen Pro’s support for backing Dynamic Data. Frans is in the process of updating his sample provider to .NET 3.5 SP1 Beta.

Tim Anderson Misses the Point of My “Is the ADO.NET Team Abandoning LINQ to SQL?” Post

Tim’s Bet on ADO.NET Data Services, not LINQ to SQL post of June 10, 2008 starts:

So says Roger Jennings in his post Is the ADO.NET team abandoning LINQ to SQL? His main points in favour of ADO.NET Data Services (formerly Astoria):

  • It is the focus of more energetic development
  • It already has richer features
  • It supports multiple database engines, not just SQL Server

My post mentioned ADO.NET Data Services in passing as a client of Entity Framework (as is ASP.NET Dynamic Data.)

My point was that Entity Framework was a better bet than LINQ to SQL for a production object/relational mapping (O/RM) data layers because it’s getting the lions share of attention (and development resources) from SQL Server’s Data Programmability Group.

Update 6/11/2008: In a comment, Tim says he meant Entity Framework, not Astoria, and accidentally interchanged the two in his post. He changed the title and body of his updated post.

Paul Stovell Releases Bindable LINQ 1.0 Beta 1

Bindable LINQ is a LINQ to Objects implementation for Windows Presentation Foundation, Silverlight, and Windows Forms that provides data binding with collection change propagation. You can download the beta bits under a BSD license from CodePlex.

Paul's subsequent Bindable LINQ: Bindable Aggregates of June 10, 2008 provides insight on how Bindable LINQ responds to changes to LINQ aggregate values.

Note: WPF-oriented developers will appreciate Paul's detailed Article: Inductive UI’s with WPF Navigation Applications post of June 5, 2008, which was inspired by a Microsoft whitepaper, Inductive User Interface Guidelines, published in 2001.

Dare Obasanjo Takes on Joel Spolsky's Post About Live Mesh and Hailstorm

Hailstorm was the codename for .NET My Services, a heavily hyped but unsuccessful Web services initiative by Microsoft to make user data hosted on MSN available to the same users at other sites. Joel Spolsky's Architecture astronauts take over post of May 1, 2008 concludes that Live Mesh is Hailstorm reincarnated and doomed to failure because data synchronization "is just not a killer application."

Dare's Some Thoughts on Joel Spolsky's Live Mesh Rant of June 10, 2008 post points out:

Hailstorm has actually proven to have been a very visionary and accurate picture of how the world ended up. A lot of the information that used to sit in my desktop in 2001 is now in the cloud. My address book is on Facebook, my photos are on Windows Live Spaces and Flickr, my email is in Hotmail and Yahoo! Mail, while a lot of my documents are now on SkyDrive and Google Docs. Almost all of these services provide XML-based APIs for accessing my data and quite frankly I find it hard to distinguish the ideas behind a unified set of user-centric cloud APIs that was .NET My Services from Google GData.

He also notes that Mark Lucovsky is a former Microsoft employee who moved to Google. What Dare didn't mention is that Lucovsky was Hailstorm's architect and chief evangelist.

Frans Bouma Releases LLBLGen Pro v2.6 with Full LINQ Support

Frans' LLBLGen Pro v2.6 has been released! post of June 9, 2008 begins:

After almost 11 months of design, development, beta testing and adding final polish, it's here: LLBLGen Pro v2.6! This version, which is a free upgrade for all our v2.x customers, has a couple of major new features, the biggest of course being the full implementation of Linq support in our O/R mapper framework. The work on our Linq provider, which we've dubbed 'Linq to LLBLGen Pro', lasted almost 9 months and was discussed on this blog in a series of articles, which I'll linq to below.

He goes on to explain his problems with creating LINQ to LLBLGen Pro, lists what's new in v2.6, and adds links to the 15 detailed blog posts that chronicled his LINQ implementation.

Congrats, Frans!

Sync Framework Team Announces RC0 of Sync Framework and ADO.NET Sync Services in SQL Server 2008 RC0

The team’s Announcing Sync Framework v1.0 RC0 and Sync Services for ADO.NET v2.0 RC0 post of June 9, 2008 notes that SQL Server 2008 RC0 includes Sync Framework v 1.0 and Sync Services for ADO.NET 2.0 and provides the following download points for the SQL Server 2008 RC0:

There's no indication so far of availability of standalone bits that are compatible with SQL Server 2005.

Update 6/10/2008 3:15 PM PDT: Thanks to Mary Jo Foley for confirming that the Sync Framework will continue to be available as a standalone download.

Update 6/10/2008 10:30 AM PDT: According to the Data Platform Insider's SQL Server 2008 RC0 Available for Everyone post of June 10, 2008, Bob Muglia announced at Tech*Ed that everyone can download the RC0 and it's What’s New notes from:

  • Download SQL Server 2008 RC0
  • What's new in SQL Server 2008

    The team expects to release a CTP (Community Technology Preview) of the Sync Framework on devices in 2008Q3.

    Liam  Cavanagh Explains Hosted Services Synchronization in Gates's Tech*Ed Keynote

    Liam's Synchronization to Hosted Services and an Explanation of the Bill Gates Keynote post of June 9, 2008 points out that SQL Server Data Services (SSDS) was the central data storage point for synchronization of simulated blog posts between a local SQL Server instance and Windows Mobile devices.

    Mary Jo Foley Wonders Why It's Taken Microsoft So Long to Release Live Mesh

    Mary Jo's Are all (Microsoft and Apple) sync services created equal? post of June 9, 2008 says:

    Apple’s introduction of the successor to .Mac — a k a, MobileMe — raises the question as to what’s taking Microsoft so long to roll out Live Mesh.

    There aren’t a whole lot of details yet available on MobileMe, other than that it will allow cloud-based synchronization of data and devices. (And will make use of Microsoft’s ActiveSync technology, which Apple licensed from Microsoft in order to bring push e-mail to the iPhone, creating its “Exchange for the rest of us.”)

    From initial reports, MobileMe sounds like a combination of a Windows Live (the various Webified versions of the .Mac point products), Live Mesh (the Mobile Me sync service) and SkyDrive (the Mobile Me cloud-based storage). It is slated to be available to customers in July for a (pricey) $99, which includes 20 GB of storage.

    She also reports having a difficult time getting Microsoft executives to explain why Microsoft didn't use the Sync Framework for Live Mesh. She says:

    All I could get out of them was Live Mesh is the P2P, out-of-the-box sync solution and Sync Framework is the customizable, developer-focused sync solution. The only place (so far) where the two meet: FeedSync.

    Very strange.

    Note: Skydrive stores the ~500 images for this blog and has delivered them with no observed outages or performance issues. The only problem I've encountered is a brief interval (an hour or less) when I couldn't upload images; downloading wasn't affected.

    Skain Compares Several Techniques for Bulk Deletions with LINQ to SQL

    Skain's Bulk Deletes in Linq to SQL update to an April 8, 2008 post chronicles his search for a bulk deletion method for LINQ to SQL that doesn't retrieve each object into memory and delete it while executing the DataContext.DeleteAllOnSubmit() method.

    His final DataContext.BulkDelete() extension method provides a better solution, however there are references in the comments to alternative solutions.

    CoÅŸkun Sunali Uses the LinqDataSource as a DataPager Workaround for the ListView Control

    His Using DataPager with Code-Behind Data Source post of June 9, 2008 says:

    Some of you might have already realized that DataPager does its job only if you use a DataSource control. For instance, if you want to set a ListView’s DataSource property in page’s Load event and expect DataPager control to successfully page the ListView control, it means that you will need to spend your hours to find why it does not work.

    CoÅŸkun provides the simple source code for the workaround.

    Strange Exception Generated by Open File Dialog in a Windows Form Backed by the Entity Framework

    Sumeet reports in his Entity framework and OpenFileDialog post of June 8, 2008 that closing, not canceling, an OpenFileDialog in a Windows form of a project using the Entity Framework as a data access layer causes an exception on the next call to the ObjectContext.

    The problem appears to be a change to the Environment.CurrentDirectory property, which must be reset with an Environment.CurrentDirectory = Application.StartupPath instruction.

    John Papa Posts a Linklist to Silverlight 2 Beta 2 Resources

    John's Silverlight 2 Beta 2 Rundown post of June 8, 2008 provides 13 links to early Silverlight 2 Beta 2 Resources, including Shawn Wildermut's Using ADO.NET Data Services in Silverlight 2 Beta 2.

    Mike Tulty applauds John's list in his Silverlight 2 Beta 2 - What's New? post of June 9, 2008.

    DataGrid Breaking Changes and Behavior Differences in Silverlight 2 Beta 2

    The Silverlight SDK Team's DataGrid Control Beta 2 Changes of June 6, 2008 points to the DataGrid Beta 2 Breaking Changes post of the same date, but also includes behavior changes for Autogenerated Columns and Automatic Sizing.

    Note: A substantial amount of Silverlight 2 Beta 2 content is included in these posts because of the new Silverlight Client Library for ADO.NET Data Services.

    Shawn Wildermuth Explains How to Debug ADO.NET Data Services with Fiddler2

    Shawn's Debugging ADO.NET Data Services...with Fiddler2 of June 6, 2008 provides detailed instructions for using Fiddler2 with ADO.NET Data Services, including adding the period after the IP address to make localhost data appear.

    He concludes:

    One caveat, this is the first release of the ADO.NET Data Services' Silverlight Client Library so give it time to improve some of the performance issues.  But like other data access libraries, sometimes small changes can make large improvements in performance.

    Shawn also announced that he's updated the following Silverlight 2 sites and projects to Beta 2:

    Off-Topic: Windows Live Writer Technical Preview for Build 14 Appears Solid

    I've been posting with the Windows Live Writer (WLW) Technical Preview for build 14 since its release on June 2, 2008 and haven't encountered a problem so far.

  •