Showing posts with label EDM Designer. Show all posts
Showing posts with label EDM Designer. Show all posts

Friday, August 07, 2009

LINQ and Entity Framework Posts for 7/27/2009+

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

Updated 8/7/2009: SQLite C# port reinstated
• Updated 8/2/2009: C# port of SQLite bruhaha and other additions/updates.

Entity Framework and Entity Data Model (EF/EDM)

Gunnar Peipman says in his LINQ To Entities, SQL and performance of 8/2/2009:

I have introduced my photo gallery building process in couple of postings. As my gallery uses Entity Framework 4.0 it is good source for some internal processing that takes place inside Entity Framework. In this posting I will show you some LINQ To Entities queries and SQL that is generated for them. I added also some thoughts about performance. …

Julie Lerman reports A big step for Stored Procedures in EF4 in her 8/1/2009 post:

When you are building or updating a model from a database, included Stored Procedures find their way into the SSDL (Store Schema Description Layer) of the metadata but not into the conceptual model. In order to expose them in your model, you need to create something called a Function Import which imports that stored proc from your SSDL into your model.

In EF4, when you run the Function Import Wizard, you will see a new option: Complex.

ef4sprocsb

Complex Types have been around since the beginning of Entity Framework however there was no designer support for them. Check this blog post (Complex Types in the EDM Designer in EF4 and a look at updating complex types in code) to see how the designer now supports Complex Types in VS2010.

Alex JamesTip 29 – How to avoid LazyLoad or Load() reader issues of 7/31/2009 warns Entity Framework users to turn on Multiple Active Result Sets (MARS) in  connection strings you write yourself if you load associated entities. …

Tim Mallalieu’s EF Data Access: EF v2 and Data Access Architecture Best Practices article for MSDN Magazine’s August issue carries this deck:

Developers deploy a wide variety of development philosophies and architecture styles. This article explores three common perspectives on application development and describes how the Entity Framework can be employed in each. Specifically, the article looks at the forms-centric, model-centric, and code-centric development styles and their relationship to the Entity Framework. …

Alex James offers Some comments on efficient SOA method composition on 7/30/2009:

A couple of posts back I started talking about composing SOAPY operations efficiently, by shipping intent to the service.

An interesting debate ensued in my comments:

Kristofer (the guy behind the Huagati tools for DBML and EDMX, and it seems a man after my own heart) got all excited and suggested the name LINQ to WCF. …

Syed Mehroz Alam RIA Services: Working with Foreign Keys/Associations in Entity Framework post of 7/29/2009 begins:

Yesterday, I got an strange observation regarding RIA Services. I needed to created an Entity Model from views instead of tables so it had no foreign key associations defined. I manually created the associations and was finally able to get a working model. I then added a RIA Domain Service and got the following error upon build:

“Unable to retrieve AssociationType for association ‘JobWBS_ResourceAssignment’”

and explains the workaround for an RIA idiosyncrasy.

Simon Segal Entity Framework 4.0 and Fetching Strategies post of 7/29/2009 says:

… Fetching Strategies are a key concept when considering tuning your data access code in Event Driven Architectures. By using ‘roles’ to explicitly fetch data either eagerly, lazily or some combination thereof, we can build fetching strategies to load accordingly when a role has been specified. The role can be reasoned as a business event of sorts. Udi has written extensively on this and developed a method for using fetching strategies with NHibernate and if you haven’t yet checked out what he’s had to say to date on the subject I suggest you take a look. …

Rudy Lacovara explains on 7/28/2009 his use of a Fluent Interface for Composing Entity Framework Queries:

I’ve been doing a fair amount of work with Entity Framework recently.  There are some things about EF that make me want to throw it out the window, but this post is about something that I really like, the ability to eliminate redundant code from my BLL and DLL and create a fluent interface for composing queries. …

Bob Beauchemin’s Latest column on data access and perf available post of 7/28/2009 points out:

My latest MSDN column is available in the August issue and called "How Data Access Affects Database Performance". It was inspired by a problem that one of my DBA friends noticed in the database that could only be fixed by changing the data access code.

I noticed that there were two articles in the issue on EDM and, although I'm using native ADO.NET code for examples, I mention how EDM-generated code fits into one of the common cases. …

Danny Simmons claims his Entity Framework: N-Tier Application Patterns article for for MSDN Magazine’s August issue:

This article examines n-tier patterns for success and some of the key APIs and issues specific to the Entity Framework. It also provides a sneak peak at features coming in the Microsoft .NET Framework 4 that should make n-tier development significantly easier. …

Alex James suggests And while you are at it… why can’t I compose REST calls? on 7/28/2009:

In my last post I asked why you can’t compose SOA method calls efficiently.

With REST services like ADO.NET Data Services having nice uniform URLs too, and a model (aka EDM) why can’t I compose those with my SOA methods too. …

Diego Vega explains WPF databinding with the [EF v2] POCO Template in this 7/26/2009 post:

The new support for POCO in Entity Framework seeks to enable better ways of coding application domain logic without polluting domain classes with persistence concerns. Persistence Ignorance can in fact improve maintainability, testability and evolvability of an application by making it possible to write domain classes that the contain domain logic and nothing more.

Persistence isn’t however the only common infrastructure service that might affect how you write your classes. Others, such as databinding and serialization, sometimes require more than POCO types to work really well.

Simon Segal describes Entity Framework 4.0 Improvements in this 7/26/2009 post:

First up, let me just say that I’m quite pleased that my needs with respect to declaring my fetching intentions (eager and / or lazy), no longer will require the  assistance of PostSharp to get the job done. PostSharp is a great tool but I really shouldn’t have had to use it to achieve working the way I wanted to, therefore POCO is a welcome addition even if it does force me into some things such as choosing ICollection for 1..M navigable relationships within my Domain Model (only if you want to use change tracking proxies).

I am not going to regurgitate the changes here, for a complete list of the changes and new features see the ADO.Net Team blog.

There seem to be several points along an axis of how POCO you can choose to be with Entity Framework 4.0. At this stage I have the feeling that I will fall into the camp that probably wont use the proxies for change tracking but I will reserve judgement on that and perhaps that decision will be best left as a case by case assessment for some. …

LINQ to SQL

Noah Hart sent the following e-mail on 8/6/2009:

Just wanted to let you know that the project is back up at http://code.google.com/p/csharp-sqlite/ under the name C#-SQLite

FYI, A clarification, if other emails, Richard expresses to me that his concern was more about confusion and support being sent to him, than about the trademark issue.

Noah Hart removed his C# port of SQLite from http://code.google.com/p/sqlitecs/ on 8/2/2009 as the result of the following email request by D. Richard Hipp, the primary author and registered owner of the SQLite trade mark (in part):

… Please also note that the SQLite source code is in the public domain, but the "SQLite" name is not. SQLite is a registered trade mark. If I don't defend the trademark, then I could lose it. So, I really do need to insist that you not use the name "SQLite" for your product. …

Noah responded:

Until this is done, I've removed access to the source code and will terminate this [G]oogle [C]ode project.  I'll post a link to the new project in the future. If anyone has a suggestion about what to call it, please let me know.

Although I’m not a vocal supporter of the concept of free and open software (FOSS), my take on this issue is that registering a trademark for the common name of an open-source software product is antithetical to the concept of FOSS.

LINQ to Objects, LINQ to XML, et al.

No significant new posts as of 8/1/2009 2:30 PM PDT 

ADO.NET Data Services (Astoria)

Mike Flasko’s Using Server Driven Paging post of 8/1/2009 reports:

In a recent episode of the 10-4 show, Jonathan Carter walks through one of the new features coming in the next version of ADO.NET Data Services known as "Server Driven Paging".  You can find the video here: http://channel9.msdn.com/shows/10-4/10-4-Episode-27-Server-Driven-Paging-with-ADONET-Data-Services/.

Robert Maclean offers an illustrated ADO.NET Data Services Cheat Sheet:

ASP.NET Dynamic Data (DD)

Steve Naughton’s Dynamic Data Custom Field Template – Values List, Take 2 post of 7/28/2009 demonstrates:

An alternative way of doing the Dynamic Data Custom Field Template – Values List this version uses the UIHint’s ControlParameters property to pass in values to the control.

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

Rick Anderson adds Using DataAnnotations in MVC 2 - Catching up to Dynamic Data on 8/1/2009:

UnexpectedError

DataAnnotations help you write robust validation and prevent the type of annoying error message shown above. Form submittal failure when a field doesn’t validate can be very frustrating -  especially when there is no indication of the problematic property or the constraint violation. I happened to get the Outlook error above when I attempted to submit a mail message to the MVC QA guys. It turns out the distribution list I made for them a few days earlier had problems.

Scott Guthrie announces ASP.NET MVC V2 Preview 1 Released in this 7/31/2009 post:

Today’s preview works with .NET 3.5 SP1 and VS 2008, and can be installed side-by-side on the same machine as ASP.NET MVC 1.0 (meaning they don’t conflict and your existing ASP.NET MVC 1.0 projects will not be impacted if you install it).  If you have both ASP.NET MVC 1.0 and ASP.NET MVC 2.0 installed you’ll see two ASP.NET MVC project templates within Visual Studio 2008’s “New Project” dialog:

The release notes that come with the ASP.NET MVC 2 Preview release detail how to upgrade existing ASP.NET MVC 1.0 projects to use V2 if you’d like to migrate them forward to take advantage of the new features.

Scott then provides a detailed explanation of the new features in ASP.NET MVC 2.

Rick Anderson describes Using DataAnnotations in MVC2 on 7/31/2009:

DataAnnotations help you write robust validation and prevent the type of annoying error message shown above. Form submittal failure when a field doesn’t validate can be very frustrating -  especially when there is no indication of the problematic property or the constraint violation. I happened to get the Outlook error above when I attempted to submit a mail message to the MVC QA guys. It turns out the distribution list I made for them a few days earlier had problems.

David Ebbo warns C# method overload resolution can play tricks on you in this 7/31/2009 post:

While working on T4MVC, I ran into a very tricky C# compiler behavior that I thought I’d share.  T4MVC creates various overloads that allow you to avoid literal strings. …

David Ebbo’s T4MVC 2.4 updates: settings file, sub view folders, ActionName support and more post of 7/28/2009 suggests:

To get the latest build of T4MVC: Go to download page on CodePlex

This post is a continuation of various previous posts on the T4MVC template for ASP.NET MVC:

I last blogged about version 2.2, and there have been a number of changes since that (you can get the full history at the top of the T4MVC.tt file).  This post describes some of those changes.

Entity Framework, Entity Data Model, EDM, LINQ to SQL, LINQ, ADO.NET Data Services, Astoria Project, ASP.NET Dynamic Data, WPF, WCF, MVC, Silverlight 2

Friday, May 08, 2009

LINQ and Entity Framework Posts for 5/4/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Alex James continues his Entity Framework tips with (in reverse chronological order):

Simon Segal continues his series on Entity Framework and the Repository pattern with:

• Danny Simmons offers pointers to EF-related sessions at Tech*Ed 2009 in his Lots of EF Fun at TechEd Next Week post of 5/1/2009. Here’s my list from a session search on “Entity Framework”:

  • BOF17 Build Great Web Applications Today: What Technologies Should I Use? Thu 5/14 | 2:45 PM-4:00 PM | Room 501A Presenter: Todd Anglin
  • BOF21 Solving the Unforeseen Challenges of the ADO.NET Entity Framework: How Can .NET Developers Get Better Prepared? Fri 5/15 | 1:00 PM-2:15 PM | Room 501A Presenter: Jonathan Bruce
  • BOF65 Implementing the Entity Framework in an n-Tier World Thu 5/14 | 8:00 PM-9:00 PM | Room 502A Presenter: David McCarter
  • DAT308 Design Patterns for Application Architecture with the ADO.NET Entity Framework Fri 5/15 | 2:45 PM-4:00 PM | Room 151Presenter: Alex James
  • DAT401 Data Access Hacks and Shortcuts Fri 5/15 | 10:45 AM-12:00 PM | Room 502A Presenter: Stephen Forte
  • DTL05-INT Surprise! It's the Entity Framework Gotchas Thu 5/14 | 1:00 PM-2:15 PM | Blue Thr 1 Presenter: Julia Lerman
  • DTL201 A Strategic Comparison of Data Access Technologies from Microsoft Tue 5/12 | 4:30 PM-5:45 PM | Room 515A Presenter: Michèle Leroux Bustamante
  • DTL20-HOL Application Development with the ADO.NET Entity Framework in the Microsoft .NET Framework 4
  • DTL312 The ADO.NET Entity Framework: Tips and TricksWed 5/13 | 4:30 PM-5:45 PM | Room 152Presenter: Julia Lerman
  • DTL324 Microsoft Visual Studio 2010 Overview for the Business Application Developer Tue 5/12 | 4:30 PM-5:45 PM | Room 515B Presenter: Jay Schmelzer
  • DTL401 Applied Entity Framework Wed 5/13 | 1:00 PM-2:15 PM | Room 408B Presenter: Daniel Simmons
  • PAN65 The Data Access Menu: Making Intelligent Choices Wed 5/13 | 2:00 PM-3:00 PM | 501C Presenter(s): Kent Alstad, Richard Campbell, Stephen Forte, Rockford Lhotka, Paul Sheriff

Looks to me like EF got the lion’s share of the data-related sessions.

Beth Massi’s Notifying the UI when Entity References Change in Lookup Comboboxes of 5/1/2009 observes:

[D]epending on your UI, you may need a notification to fire when the entity reference changes. By default this doesn’t happen with entities generated by the EF designer. Only scalar properties raise change notifications.

Beth’s shows how to solve the problem.

Alex James announces in Video on Entity Framework’s Model First in .NET 4.0 post of 5/1/2009:

Jonathan Carter (aka LostInTangent) has done a Channel 9 video on our upcoming Model First experience.

Model first was announced a while back here.

Beth Massi dives into problems with EF’s lack of exposed foreign key values in her Data Binding WPF Lookup Combobox Values to EF Entities post of 4/30/2009.

Beth Massi’s Tally Rows in a DataSet that Match a Condition post of 4/27/2009 begins:

Today I got a question that comes up often in data application programming about how to count rows in a DataSet that matched a condition. The DataSet may be bound to a DataGridView or other list control and it’s tempting to start looking at the control to see if you can coax it into returning what you need but usually there is a much better way.

This post describes the “much better way.”

Julie Lerman describes her first “baby steps” writing unit tests for EF in her Overcoming "Fear of Unit Testing" Disease article of 4/26/2009 for DevSource.

LINQ to SQL

Frans Bouma’s lengthy The desperate quest for doing it 'right' post of 5/4/2009 describes some of the new features coming in the next version of LLBLGen Pro.

Tech*Ed 2009 lists the following four sessions from a search on “LINQ to SQL:”

  • DAT308 Design Patterns for Application Architecture with the ADO.NET Entity Framework Fri 5/15 | 2:45 PM-4:00 PM | Room 151 Presenter: Alex James
  • DAT401 Data Access Hacks and Shortcuts Fri 5/15 | 10:45 AM-12:00 PM | Room 502APresenter: Stephen Forte
  • DTL402 How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations Thu 5/14 | 2:45 PM-4:00 PM | Room 515BPresenter: Jonathan Aneja
  • PAN65 The Data Access Menu: Making Intelligent Choices Wed 5/13 | 2:00 PM-3:00 PM | 501C Presenter(s): Kent Alstad, Richard Campbell, Stephen Forte, Rockford Lhotka, Paul Sheriff

LINQ to Objects, LINQ to XML, et al.

Sergey Zwezdin’s jLinq – LINQ for JavaScript post of 5/5/2009 describes jlinq and provides pointers to more information.

LinqMaster compares Returning a Single Element With LINQ First and LINQ Single in this 4/29/2009 post.

Tech*Ed 2009 lists the following 10 sessions from a search on “LINQ:” 

  • DTL06-INT Task-Based Parallel Programming with the Microsoft .NET Framework 4 Thu 5/14 | 1:00 PM-2:15 PM | Blue Thr 2 Presenter: Stephen Toub
  • DTL11-HOL Parallel Extensions: Building Multicore Applications with the Microsoft .NET Framework
  • DTL12-HOL Microsoft Visual Basic 9 and LINQ Presenter: David Aiken
  • DTL313 Essential LINQ with C# Wed 5/13 | 2:45 PM-4:00 PM | Room 402 Presenter: Mark Michaelis
  • DTL329 Parallel Computing APIs with the Microsoft .NET Framework 4 Tue 5/12 | 2:45 PM-4:00 PM | Room 150 Presenter: Mark Michaelis
  • DTL336 Future Directions for Visual Basic Wed 5/13 | 8:30 AM-9:45 AM | Room 152 Presenter(s): Jonathan Aneja, Anders Hejlsberg
  • DTL402 How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations Thu 5/14 | 2:45 PM-4:00 PM | Room 515B Presenter: Jonathan Aneja
  • OFC307 Integrating WPF and WCF into Your Office Business Applications Wed 5/13 | 2:45 PM-4:00 PM | Room 515BPresenter: Tim Huckaby
  • OFC403 Developing Office Client Solutions Using LINQ and Open XML Thu 5/14 | 4:30 PM-5:45 PM | Theatre (Room 411) Presenter: Eric White
  • PRC09 Mobile Device Development on Windows Mobile Room 409 Presenter: Jim Wilson

Eric White provides a preview of his Tech*Ed presentation in LINQ / Open XML at TechEd 2009 of 5/4/2009.

ADO.NET Data Services (Astoria)

Gil Fink reviews Apress’s new Astoria book by John Shaw and Simon Evans in his Pro ADO.NET Data Services Book Review post of 4/22/2009. He give the book 3.5 out of 5 stars.

Phani Raju lists his duty hours covering Astoria at Tech*Ed 2009’s Data Development Technical Learning Center booth in his Going to Tech Ed post of 5/7/2009.

Tech*Ed 2009 lists the following four sessions from a search on “ADO.NET Data Services:”

  • DTL327 Modeling RESTful Data Services Mon 5/11 | 1:00 PM-2:15 PM | Room 404 Presenter: Mike Flasko
  • SOA04-HOL Connecting Microsoft .NET Applications to Legacy IBM Mainframe and Midrange Systems Using Microsoft Host Integration Server 2009
  • SOA302 Building RESTful Services Using WCF Thu 5/14 | 10:15 AM-11:30 AM | Room 404 Presenter: Jon Flanders
  • WUX02-HOL Microsoft ASP.NET Dynamic Data

ASP.NET Dynamic Data (DD)

Steve Naughton surfaces again with Communicating Between FieldTemplates in Dynamic Data of 5/8/2009:

A question that is asked a lot on the Dynamic Data Forum is how can I get a reference to a FieldTemplate, the reason people ask this is because they are used to doing things this was from classic ASP.Net code; the problem with this is that it leads to specialised code in the page, which means custom page and I always go for custom FieldTemplate over custom page.

Scott Hunter announces Dynamic Data Preview 4 Released in his 5/7/2009 post that describes its relaxed data requirements.

David Hayden’s ASP.NET Dynamic Data Preview 4 - Still No ASP.NET MVC Love post of 5/7/2009 reviews the new DD release that includes an ADO.NET Data Services sample. His complaint:

The only question I have is - “Where is the ASP.NET MVC Love?” Surely they still can't be “looking to see where Dynamic Data may fit with ASP.NET MVC” given ASP.NET MVC has been around for over a year in some fashion. Could they? :)

Tech*Ed 2009 lists the following two sessions from a search on “ASP.NET Dynamic Data:”

  • DTL324 Microsoft Visual Studio 2010 Overview for the Business Application Developer Tue 5/12 | 4:30 PM-5:45 PM | Room 515B Presenter: Jay Schmelzer
  • WUX02-HOL Microsoft ASP.NET Dynamic Data

SQL Data Services (SDS) and Cloud Computing

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

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

Not covered at the moment.

Monday, February 16, 2009

LINQ and Entity Framework Posts for 2/5/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Danny Simmons explains in his D3: Basic Architecture Decisions post of 2/15/2009 the basic goals of his forthcoming DPMud3 Data Programmability multi-user dungeon game. Danny writes:

The first goal for this exercise is to build a real application not just a collection of samples artificially glued together but at the same time to try out new EF features such as POCO, model-first, mockable-interfaces, the n-tier APIs, T4 for code generation, etc. Another key goal is to use good architectural principles and popular app building patterns which means carefully separating concerns, using Inversion of Control to facilitate mocking and test driven (or at least very carefully tested) development, to create an n-tier architecture with WCF-services and a Silverlight client, and to use a model-view-controller pattern to simplify the creation of multiple views and controllers which share a common model.

Danny’s DPMud post of 2/13/2009 recounts the history of the original multi-user dungeon game that he used as a test harness for Entity Framework v.1 and describes the start of “DPMud3: The Zombies Search for Spock,” v.3 of the game for EF v.2. Danny promises to share the source code as soon as he finishes “working out some details with legal.”

Wriju recommends using EntityClient and eSQL to improve performance in his ADO.NET Entity Framework: Using EntityClient and EntitySQL post of 2/12/2009 and shows you how to handle paging in ADO.NET Entity Framework : Paging EntitySQL of 2/13/2009.

Simon Segal tries to get Specifications, Repositories and (finally) Fetching Strategies bundled into a single approach for the Entity Framework in his The Entity Framework and a unified Lazy and Eager loading framework. post of 2/11/2009. Simon concludes:

So far the results look promising. I will have more to say on this shortly and with a bit of luck will be releasing the code which rounds out the triad of a Repository, dynamic querying capability via Specifications and Fetching Strategies for a unified approach for lazy and eager loading that does NOT require you ever explicitly call the .Includes(), Load() or IsLoaded methods and property on the EntityCollection<T>, EntityReference<T> or ObjectQuery<T> objects.

Muhammad Mosa’s Domain Driven Design & Test Driven Development\Design with Entity Framework, Part 1.a Refactoring & Unit Testing post of 2/11/2009 has the following objective:

My target is to achieve decoupling between EF and all layers above it. This include Repository classes. This might not be of a big benefit to everyone, because my repositories implementation will still dependent on IDataContext. But for me it will help to do TDD more smoothly regardless of my underlying data access layer. Beside it might allow me in future to be able to switch from EF to LINQ to SQL and just implement my IDataContext interface for LINQ to SQL.

Downloadable source code for EF is included.

Julie Lerman announces Amazon is finally listing my book as "in stock" on 2/10/2009.

Grigori Melnik’s Thoughts on Agile Software Engineering and Beyond post of 2/9/2009 asks “DAAB and Entity Framework: possible marriage?” Grigori answers:

We’ve looked at this a little bit internally and we do not see any opportunity or value in this marriage. We might be missing something here. For those, who had asked for this, could you please provide more details about how this integration would work and what values you’d derive from it?

Danny SimmonsAvoiding Query Injection Attacks with the EF post of 2/8/2009 explains how to use ObjectQuery<T>’s builder methods to add filters, sorting and projections to EF queries. The builder fully parameterizes the queries.

See Kristofer Andersson’s Tools - Part 10 - Add-ins - Multiple diagram layouts per model in the Linq-to-SQL designer post of 2/11/2009 below.

LINQ to SQL

See Nathan Duchene’s Storing Values in XML & Using Linq to XML in VB to retrieve them post in the LINQ to Objects, LINQ to XML, et al. section.

David Hayden’s LINQ To SQL Tutorials - Lazy-Loading Properties for Performance post of 2/12/2009 shows you how to take advantage of the DelayLoading property to defer loading of large binary objects, such as images, to improve performance.

See Muhammad Mosa’s Domain Driven Design & Test Driven Development\Design with Entity Framework, Part 1.a Refactoring & Unit Testing post of 2/11/2009 in the Entity Framework and Entity Data Model (EF/EDM) for possible use of his interfaces with LINQ to SQL.

Kristofer Andersson’s Tools - Part 10 - Add-ins - Multiple diagram layouts per model in the Linq-to-SQL designer post of 2/11/2009 describes a new feature for LINQ to SQL mapping with his Huagati DBML/EDMX Tools: Layout View. Layout View enables developers to “‘chunk up’ models in digestable pieces; sometimes referred to as subject areas or functional areas.” Kris notes:

All data modelling tools support this, Visio 2003EA, Erwin, ERStudio, even the ‘diagrams’ feature in SQL Enterprise Manager all allow each model to have multiple diagram layouts/views. …

Unfortunately this feature is missing in both the Linq-to-SQL diagram designer and the Entity Framework designer in Visual Studio 2008. Also unfortunate is that the people responsible for those designers in Microsoft’s data programmability group don’t seem to prioritize that ability. Microsoft’s Sanjay Nagamangalam recently wrote “While we understand your scenario, it does not look like the next version of the designer will support viewing subsets of the EDMX at the moment.” in the comments section of the EFDesign blog as a response when a user asked for the ability to view subsets of a model in the EF designer.

Huagati offers a 30-day free trial of the v.1.62 beta version for LINQ to SQL. A decision is pending on extending this feature to the Entity Framework v.1 and will be influenced by user interest demonstrated during the beta.

Shefali Kulkarni takes on Single Table Inheritance using LINQ [to SQL] on 2/11/2009 and describes mapping a single table to a class hierarchy with LINQ to SQL.

Keven Kubasik’s Using Linq to Sqlite Providers: Updated post of 2/9/2009 provides step-by-step instructions for using the EF-enabled Sqlite provider.

Matthieu Mezil writes in his EDM Designer V0.9 post of 2/9/2009 that My first EDM Designer version was a viewer. It's now a real designer. Check it out.

Matthieu Mezil shows you how to Integrate cache in the query with the IntegrateContext(context, where.Compile()) method (2/6/2009) in a LINQ to Entities query.

LINQ to Objects, LINQ to XML, et al.

Nathan Duchene’s Storing Values in XML & Using Linq to XML in VB to retrieve them post of 2/13/2009 describes a project on which he was working:

Take uploaded XML files, do some file validation against a database using LINQ to SQL, and distribute these files across our network based on the values within the XML file.  Through all this, wire in notifications if the file fails a validation test.

The VB LINQ to XML implementation described in Nate’s post shows you how he accomplished the feat.

Bart De Smet hollers Help! Drowning in Expression Trees, What Now? on 2/12/2009 when attempting complex expressions that contain user-defined functions in LINQ to Objects predicates.

Suprotim Agarwal shows you how to Group By Multiple Values in LINQ in his post of 2/12/2009.

Matthieu Mezil wants to write an extension method Sum on IEnumerable<int> and an extension method Sum on IEnumerable<decimal> and then factorize this code in his Code factorization with delegate post of 2/11/2009. Matthieu asks “how to factorize the initialization (= 0 with an int and = 0 with a decimal) and the addition?” and then shows you the code.

LinqMaster’s 7 LINQ Tricks to Simplify Your Programs post of 2/9/2009 shows you how to:

    1. Initialize an array
    2. Iterate over multiple arrays in a single loop
    3. Generate a random sequence
    4. Generate a string
    5. Convert sequences or collections
    6. Convert a value to a sequence of length 1
    7. Iterate over all subsets of a sequence

Kai Jaeger’s JSINQ - LINQ to Objects for JavaScript CodePlex project of 2/1/2009 is a JavaScript library that allows you to write SQL-like queries against arrays and DOM node lists. According to Kai:

JSINQ is a complete implementation of LINQ to Objects in JavaScript. What that means is that if you know LINQ and you know JavaScript, you know JSINQ. JSINQ is both an API-compatible implementation of System.Linq.Enumerable and a complete query-expression compiler. That's right: you can write LINQ-style queries in JavaScript. And if that isn't enough: JSINQ is also very liberally licensed, well-document, reasonably well-tested (the Enumerable-part) and currently in beta. So give it a go!

Bart de Smet takes up matrix methods in his LINQ and The Matrix – Introducing MLinq post of 10/11/2009. MLinq provides “a very simple way to perform symbolic matrix calculations based on LINQ expression trees.” For consistency, I prefer the name “LINQ to Matrices”

Fabrice Marguerie’s Converting LINQ queries from query syntax to method/operator syntax post of 2/6/2009 describes how to “convert a LINQ query expression (query syntax) to a query operator call chain (method syntax or dot notation).” The solution definitely wasn’t intuitive.

ADO.NET Data Services (Astoria)

Steve Naughton’s back with an AJAX History in a Dynamic Data Website post of 2/13/2009 that explains how to improve users’ experience when navigating history with several filters on each list page.

Rob Bagby explains working with AtomPub in Exposing ATOM feeds from your services – part II – customizing and extending the ATOM feed of 2/13/2008 and the importance of RESTful interfaces in Exposing ATOM feeds from your services of 2/12/2009. Astoria and Azure services implement RESTful interfaces.

Shawn Wildermuth’s Twin Cities Developers' Guild Code Sample of 2/13/2009 includes the source code for a data application using Silverlight and ADO.NET Data Services to show how Line of Business apps can work in Silverlight.

Beth Massi is up to part 3 of her Astoria-powered Office Business Application series in OBA Part 3 - Storing and Reading Data in Word Documents of 2/12/2009. Earlier episodes are

Steven RobbinsSelf Hosting ADO.Net Data Services (Astoria) – Part II – A Basic WCF Service Example follows up his original article with a very basic introduction to WCF services in general using Astoria as the example. Source code is available for download.

ASP.NET Dynamic Data (DD)

Jonathan Carter’s Dynamic Data: Putting A New Dress On An Old Model post of 2/12/2009 starts with this observation:

Within the .NET 3.5 SP1 release, the initial consumer of Dynamic Data (and the newly introduced data annotations) was ASP.NET WebForms. This means that if you’re developing a data-driven web application, and your weapon of choice is WebForms, then you just happen to be in luck. Work is already underway to introduce some of Dynamic Data’s behavior into ASP.NET MVC that is appropriate to its style of development, and you can expect to see additional UI frameworks taking advantage of its semantics and data annotations as well in the near future.

And then asks and answers: “How can I begin taking advantage of it within a WebForms application?”

SQL Data Services (SDS) and Cloud Computing

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

SQL Server Compact (SSCE) 3.5 and Sync Services

Liam Cavanaugh’s Customer Spotlight - Synchronization Scalability and Live Toolbar post of 2/11/2009 discusses the scalability of syncing Website Favorites across multiple PCs with the new version of the Live Toolbar and the Microsoft Sync Framework.

Liam’s Customer Spotlight – Interscape Flip for the Mobile Sales Workforce of 2/10/2009 introduces another company, Interscape, who has developed a simple to use sales tool called FLIP Client. Liam writes:

Flip was built to incorporate features like scheduling, pipeline reporting, outlook and more.  I had a chance to talk with Matt Francis, CEO of Interscape and this is what he had to say about the Sync Framework and Occasionally Connected Applications.

Mary Jo Foley’s In Apple’s footsteps: Google licenses Microsoft ActiveSync post of 2/9/2009 describes how:

Google apparently is licensing ActiveSync in order to allow tighter synchronization between Exchange and its  newly unveiled Google Sync service.

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

 

Tuesday, February 10, 2009

All 10 Licenses for the Huagati DBML/EDMX Tools Have Been Sent to Purchasers of My Latest Book

My Free Huagati DBML/EDMX Professional Tools License for 10 Purchasers of my LINQ and Entity Framework Book post offered the first 10 purchasers of my new Professional ADO.NET 3.5 with LINQ and the Entity Framework book have claimed their licenses.

Sorry, folks, there are no more free licenses left

My earlier Professional ADO.NET 3.5 with LINQ and the Entity Framework: Table of Contents post of 11/8/2008 contains a chapter-level TOC.

Free Huagati DBML/EDMX Professional Tools License for 10 Purchasers of my LINQ and Entity Framework Book

If you follow my LINQ and Entity Framework Posts for MM/DD/200Y+ posts, you know I’m a fan of Kristofer Andersson’s Huagati DBML/EDMX Tools add-in to VS 2008 Standard and higher for LINQ to SQL and the Entity Framework.

To promote his tools and help me promote my new Professional ADO.NET 3.5 with LINQ and the Entity Framework book, Kristofer has provided me 10 Huagati DBML/EDMX Tools Professional Edition single-user promotional licenses to distribute as I see fit. The licenses don’t expire.

I’ll send I’ve sent one license to each of the first 10 individual purchasers of Professional ADO.NET 3.5 with LINQ and the Entity Framework who sentd an email to me at roger_jennings[at]compuserve.com with the first two words of the first line of page 84 of the book in the email’s body.

This offer is not a lottery or contest and is subject to revocation without prior notice. Void where prohibited. Only one license per purchaser will be sent until the 10 licenses are transmitted. The estimated retail price of a non-promotional license is US$ 119.95 as of 1/29/2009.

Update 2/10/2009 2:00 PM PST: Following are the folks who received the ten Huagati licenses:

  • Gary Progar
  • Delmer Johnson
  • Tai Nguyen
  • Glenn Paulley
  • Daniel C 
  • Bassam Mansoob
  • Abdu Bukres
  • Dan Knight
  • Larry Hunt
  • Alan Thorpe

No licenses are left.

My earlier Professional ADO.NET 3.5 with LINQ and the Entity Framework: Table of Contents post of 11/8/2008 contains a chapter-level TOC.

Wednesday, February 04, 2009

Glenn Paulley Gives “Professional ADO.NET 3.5 with LINQ and the Entity Framework” a Thumbs-Up

Sybase iAnywhere’s director of engineering, Glenn Paulley posted Roger Jennings’ book on Entity Framework 3.5 looks like a winner on 2/3/2009. Glenn writes:

I just recently purchased Roger Jennings’ book, entitled Professional ADO.NET 3.5 with LINQ and the Entity Framework. This is as complete a guide as you’ll find to the various implementations of LINQ: both LINQ-to-SQL (now discouraged by Microsoft) and LINQ-to-entities are covered in considerable detail. What I really appreciate within the book are Roger’s descriptions of the differences between the various technologies: what they can do, what they cannot, with lots of examples to illustrate the concepts. …

Moreover, a tremendous resource for Jennings’ book is that the source code for each chapter is downloadable from the publisher.

My congratulations to Roger on a very useful resource for Entity Framework developers.

And my thanks to Glenn for the kind review.

Friday, January 23, 2009

“Professional ADO.NET 3.5 with LINQ and the Entity Framework” Is in Stock at Amazon

Amazon lists my latest book for WROX/Wiley, Professional ADO.NET 3.5 with LINQ and the Entity Framework, as “In Stock” although it was originally scheduled for availability on 2/3/2009.

Thanks to Julie Lerman for the heads-up; her Programming Entity Framework book goes to the printer today for availability on 2/2/2009.

Good news! I didn’t expect the book to be available until mid-February.

Julie writes: “Dave Sceppa's book, Programming the Microsoft ADO.NET Entity Framework, still says ‘Dec 10, 2008’ although Amazon lists it as ‘not yet released’ so I'm not sure what's up with that.”

Microsoft Press says Dave’s book is scheduled to be published on 2/24/2009.

This earlier Professional ADO.NET 3.5 with LINQ and the Entity Framework: Table of Contents post of 11/8/2008 contains a chapter-level TOC.

Monday, December 01, 2008

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

Note: This post is updated daily or more frequently, depending on the availability of new articles.
Updated 12/1/2008 4:30 PM PST
Updated 11/27/2008 9:00 AM PST
               • Updated 11/26/2008 9:00 AM PST

Entity Framework and Entity Data Model (EF/EDM)

Julie Lerman’s Calling UDFs from Entity Framework - Not what you might have expected post of 11/29/2008 describes how EF handles SQL Server’s user-defined functions, which you must call directly from the SSDL with Entity SQL, unless they return an entity instead of a scalar value.

Boincer asks “So does SDS work with .Net's Entity Framework at all?” is his SDS and Entity Framework thread of 11/29/2008 in the SQL Data Services (SDS) - Getting Started forum. Microsoft’s Anil Reddy responds:

We continue to work on this as we speak. I cannot mention the timeline, but we should have the functionality that you mention exposed very soon. [Emphasis added.]

Support for EF depends on implementing schemas for SDS entities, which the SSDS team has been promising for many months. It probably depends also on implementing the AtomPub wire protocol, the goal of this incubation project:

Accessing SDS using ADO.NET Data Services - This incubation project focuses on aligning SDS and ADO.NET Data Services. With this alignment SDS will support AtomPub and JSON formats. It will also provide support for established set of conventions for constructing URLs to point to resources. We are also extending ADO.NET Data Services to provide access to the flexible data stored in SDS.

Note: Disregard the incorrect Codename “Astoria” – Online article title; that’s a separate incubator project.

Kristofer Andersson’s Tools - Part 7 - Add-ins - How to deal with the Entity Framework designer and orphaned entities post of 11/27/2008 describes the beta version of a new EDMX Cleanup feature added to the Huagati DBML/EDMX Tools that …

will assist with cleaning up orphaned entitysets/entitytypes without the need for an xml editor. The first version supports creating CSDL equivalents from orphaned SSDL entities, or alternatively dropping orphaned SSDL. Creating SSDL/dropping CSDL will be added in the next version.

You can download a copy of v1.49 the beta here.

His Offtopic: Thanksgiving, the turkey holiday… article offers a Thai-flavored recipe for roast turkey stuffed with pineapple, which has enzymes that act as a meat tenderizer, and a link to his wife’s recipe for Thai Left-over Turkey Curry.

Julie Lerman shares my reservations (see below) about Srikanth Mandai’s approach to sub-dividing EDMs by adding <Using> elements in her CSDL's Using Construct for Big Models post of 11/26/2008. I wouldn’t be surprised to see Kristofer Andersson tackle this problem in a future DBML/EDMX Tools update.

Beth Massi interviews Milind Lele in the Drag-Drop Data Binding Comes to WPF in Visual Studio 2010 Channel9 video of 11/26/2008. Milind demonstrates drag-and-drop data-binding an Entity Data Model for Northwind’s Customers and Orders tables to a WPF master-details form. The feature is coming in VS 2010.

Matthieu Mezil asks How to delete all the related entities? and answers his question in a brief 11/26/2008 post.

Srikanth Mandadi’s Working With Large Models In Entity Framework – Part 2 post of 11/26/2008 suggests “Sub-dividing the model into smaller models with type reuse,” which has the following shortcomings:

  1. No designer support: The designer does not support “Using”. So you would have to create your model first using designer and then edit the xml to use Entities from a related model.
  2. Bi-Directional Navigation Not Supported: Since you cannot create cycles when creating model dependencies, you can declare navigation properties only in one model.

These two limitations are likely to make this approach unpopular.

Matthieu Mezil observes in his EF: Attach a graph post of 11/25/2008:

In a lot of cases (WCF scenario for example) we need to attach a graph to a context. But the graph can be modified when it is detached. So you have to apply modifications when you attach it back. To do this, ObjectContext class has a method ApplyPropertyChanges. This method only applies to the scalar properties, so it’s insufficient for graphs. …

In fact, in a WCF scenario for example, you never get the same ObjectContext. So to delete an entity, it means that you need to load it from DB to delete it then. In this case, I prefer to use a SSDL Function (which can be a DB stored procedure) to delete it directly with just the entity key.

He then goes on to provide the source code for a static AttachExtension class which supports most modification cases.

Ido Flatow asks What does Entity Framework has to do with MSBuild? (11/24/2008) and provides his own answer:

The answer to the above question should be “nothing, unless you’re trying to build a project that references entity framework”, but apparently it isn’t so.

He supplies the solution (adding an <assemblyBinding> group to the config file) to running the project with .NET 3.5 as the target framework.

Srikanth Mandadi’s Working With Large Models In Entity Framework – Part 1 post of 11/24/2008 acknowledges the performance problems that occur when EF’s Entity Data Model reaches 50 to 100 tables. Metadata load and view generation times increase roughly in proportion to the number of tables and the number of interconnections between the tables. The post notes that you can reduce view generation time by pre-compiling the view, but the only practical method of reducing metadata load time is to split the model.

Alex James want EF users and trainers to stop referring to the EDMX file as the Entity Data Model (EDM) in his EDM misconceptions post of 11/24/2008. But he does acknowledge that the ADO.NET Team is at least partially responsible for the confusion by using the EDMX file extension.

LINQ to SQL

Kristofer Andersson tackles set-based delete operations in his Architecture - Linq-to-SQL and set-based operations: Delete statements post of 11/25/2008, which is a follow-on to his earlier post about set-based update statements: Architecture - Linq-to-SQL and set-based operations: Update statements of 11/5/2008. Kris notes:

Microsoft’s Bart de Smet (author of the B# blog) also recognized the need for language integrated set-based operations in his “Dude, where’s my LINQ DML” blog entry. Although his article left out the actual implementation - he’s instead elaborating on a generic interface to front this functionality. (Although I have to say that I think my implementation results in more clean end-user code than his suggested interface. I know I’m abusing lambdas for the “set”-part but I think it is clear enough anyway…).

See below for a copy of last week’s post about Bart’s article.

••• 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. (Repeated from LINQ and Entity Framework Posts for 11/17/2008+.)

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.

(Repeated from LINQ and Entity Framework Posts for 11/17/2008+.)

LINQ to Objects, LINQ to XML, et al.

Justin Etheredge proposes Taking the Magic out of Expression<T> in his 11/29/2008 post, which provides a easy-to-read introduction to the implementation of expression trees in C# 3.0.

LinqMaster’s Yield Statement in C# post of 11/26/2008 explains how the Yield statement relates to iterators for LINQ collections that implement IEnumerable.

ADO.NET Data Services (Astoria)

Simon Segal concludes in his REST Vs. SOAP - Is the writing on the wall for WSDL & SOAP? post of 11/27/2008 that:

A lot of excitement seems to be being generated [at Microsoft] around REST and remarks like “keep using SOAP and WSDL if it works for you and your comfortable with it”, only seem to support that notion that the focus is shifting.

ASP.NET Dynamic Data (DD)

Vincent Home explains why Dynamic Data is an important development in his Dynamic Data a Nutshell post of 11/29/2008 and links to Scott Hanselman’s earlier Putting ASP.NET Dynamic Data into Context post of 4/10/2008, which offers a more complete analysis.

David Ebbo’s Fun with T4 templates and Dynamic Data post of 11/26/2008 continues the trend started by Damien Guard and Danny Simmons toward code-generation with T4 templates for data-driven projects. David’s template automates getting started with a DD custom page by replacing the FormView with a DetailsView and adding a DynamicControl for each field. The template works with both LINQ to SQL and Entity Framework data sources.

Steve Naughton also updated Dynamic Data Compound Column *** UPDATED 2008/11/08 *** again on 11/26/2008.

Steve Naughton’s DynamicData - Automatic Column Update For Entity Framework post of 11/26/2008 is an update to his earlier Automatic Column Update post of 5/25/2008.

David Ebbo demonstrates Using User Controls as Page Templates in Dynamic Data with or without routing in this 11/25/2008 post, which includes downloadable code.

SQL Data Services (SDS) and Cloud Computing

••• Jeff Barr’s Amazon SimpleDB Grows Up post of 12/1/2008 announces that Amazon Web Service’s SimpleDB database service has moved from private to public beta status with a substantial reduction in data storage fees (from $1.50/GB-month down to $0.25/GB-month). Jeff says:

We've made the business decision to go with SimpleDB even simpler than it was before. You can now get started for free. For at least the next six months, you can consume up to 500 MB of storage, and you can use up to 25 machine hours each month. You can transfer 1 GB of data in, and another 1 GB out. You can move as much data to and from Amazon EC2 as you would like, for free.

I’m in the process of writing and testing an ASP.NET test harness for SimpleDB that emulates the Azure test harness described in my seven-part Azure Storage Services Test Harness series. Currently, I’m testing it locally, which emulates the Azure version’s local Web hosting with Azure data.  Later this week, I’ll test hosting the ASP.NET project on EC2, which very closely resembles an Azure production environment. Another version that’s hosted on EC2 and uses the EC2 instance’s SQL Server Express engine as the data source is operational.

Note: I’m finding some strange behavior of the QueryWithAttributesResult class returning attributes in an unexpected sequence and an issue with the use of the QueryWithAttributesRequest’s sort operator in query expressions. More details will follow this week.

••• Mike Amundsen’s SDS Feature Wish List of 11/30/2008 lists his request for added HTTP protocol features. Mike says:

You might notice that most of the requests I list here relate to 'application protocol' level items - HTTP. That's because I am currently most interested in these issues and I have not found too many others covering the same space. I know there are lots of important database-related features that SDS can include, too.

••• George Reese presents security issues with Amazon Web Services that also apply, at least in part, to the Azure Services Platform and Google App Engine in his Key Security Issues for the Amazon Cloud post of 11/30/2008 and his earlier Twenty Rules for Amazon Cloud Security post of 11/27/2008.

Steve Marx’s Deleting Entities from Windows Azure Without Querying First post of 11/29/2008 shows you how to directly delete entities whose composite primary key values you know. Direct deletion saves a server round trip.

Mike Levy asks How "expensive" is it to create a queue? in an 11/29/2008 thread in the Windows Azure forum. Microsoft’s Daniel C. Wang replies that the resource cost is approximately the same as creating a blog container, which he considers “cheap.” Determining the economic cost remains in the dark until Microsoft announces pricing for Azure Queue Services.

Ken Church, Albert Greenberg, and James Hamilton analyze micro- versus mega-datacenters in their On Delivering Embarrassingly Distributed Cloud Services paper presented at the Seventh ACM Conference on Hot Topics in Networks (Hotnets 2008), 10/6-7/2008 in Calgary. In many cases, especially e-mail processing, geodisperse server “condos” holding 48 servers are more cost-effective than tier II+ datacenters housing 54,000 servers. (You can read all conference papers in this 20-MB PDF file.)

Boincer asks “So does SDS work with .Net's Entity Framework at all?” is his SDS and Entity Framework thread of 11/29/2008. See the EF/EDM section for Microsoft’s reply.

Michael Arrington’s Live Cashback Having A Bad Black Friday post of 11/28/2008 observes that “users are reporting that [Microsoft’s Live Cashback site] has been down much of [Friday] morning, and more than half of my attempts to connect are timing out.” He points out:

It’s also not so great for Microsoft’s expanding cloud computing efforts. If Microsoft can’t keep their own sites live on heavy traffic days, they can’t expect other companies to have faith in them as a platform either.

There’s a bit more more about the outage in Rajat Taneja’s Black Friday cashback blackout post to the Live Search blog of 12/1/2008.

Mike Amundsen describes updates to his SDS Provisioning Client in his Sample SDS Web Client Updated thread of 11/26/2008 in the Windows Azure forum. The new release “includes the ability to display the SDS metrics for authorities and containers as well as an option to view the "raw" SDS responses for all queries.” 

Stuart Lodge’s A fix for the Azure TableStorageMemberProvider post of 11/26/2008 solves this bug, a providerKey is generated but is never actually stored in the table storage, by adding a single line of code. Microsoft’s Frank Siegemund says the bug is a known issue in the Simple fix for ProviderUserKey in TableStorageMembershipProvider in the SDK samples thread of the Windows Azure forum and provides source code for the current method.

Steve Marx followed up on an earlier post (see below) with his Windows Azure Worker Role to Deal with Spam post of 11/25/2008. The post includes a live link to test Steve’s anti-spam implementation.

Scott Watermasysk’s Cloud Options - Amazon, Google, & Microsoft post of 11/25/2008 compares the features of the three major cloud computing platforms. Scott gives the Azure Services Platform props for background processing (not available with the Google App Engine), “super-simple deployment,” and staging. Dare Obasanjo gives Scott’s post high marks in his A Comparison of Amazon, Google and Microsoft's Cloud Computing Offerings post of the same date.

Jon Udell’s IronPython/Azure status report of 11/25/2008 doesn’t paint a rosy picture for using IronPython in the cloud. Windows Azure’s security model currently prevents importing even pure Python modules. Jon did manage to get Sriram Krishnan’s Python module, “which wraps the RESTful interface to Azure blobs,” by exchanging Python’s minidom, httplib, time, and base64 modules with their .NET equivalents.

Steven Levy says on page 7 of his Ray Ozzie Wants to Push Microsoft Back Into Startup Mode cover article of 11/24/2008 for Wired Magazine’s December 2008 issue:

The Ozzie project that must deliver results is Microsoft's so-called operating system for the cloud. As more apps become Web-based, the raison d'être for Windows—running programs on desktop PCs—becomes less compelling. What better way to make up for the decreasing importance of a desktop operating system than to create a dominant OS that runs services in the cloud? This is not only a crucial effort but one in which Microsoft is playing catch-up: Amazon.com went live with its cloud services in early 2006 and now hosts data storage or applications for more than 400,000 developers, including the complete historical archives of The New York Times. Google's entire company is based on the premise that people want to move from desktop to cumulus. But Microsoft hopes to use its cloud OS (codenamed Red Dog, now called Windows Azure) to dominate the cloud the way DOS and Windows did the desktop. [Emphasis Levy’s.]

He then goes on to deliver additional background on the Red Dog project and Live Mesh.

Lori MacVittie’s Cloud Computing: Vertical Scalability is Still Your Problem post of 11/24/2008 discusses issues with vertical, rather than horizontal scalability. Her definitions:

Horizontal scalability is the ability of an application to be scaled up to meet demand through replication and the distribution of requests across a pool or farm of servers. It's the traditional load balanced model, and it's an integral component of cloud computing environments.

Vertical scalability is the ability of an application to scale under load; to maintain performance levels as the number of concurrent requests increases.

Lori suggests “Things you can do to improve vertical scalability

  1. Optimize SQL / database queries
  2. Take advantage of offload capabilities of application delivery solutions available
  3. Be aware of the impact on performance and scalability of decomposing applications into too finely grained services
  4. Remember that API usage will impact vertical scalability
  5. Understand the bottlenecks associated with the programming language(s) used and address them”

Steve Marx demonstrates Adding a Property (Column) in Windows Azure Tables (11/24/2008) by adding UserIP, UserAgent, Referrer, and IsSpam properties (attributes) to the BlogComment entity of his blogging application with a flexible schema. Steve notes that local Developer Storage runs on a SQL Server 200x Express instance, so his method only applies to instances running on Azure’s cloud storage.

LiquidBoy’s  How do you make a Container's content read-accessible to the public? thread started 11/24/2008 in the SQL Data Services (SDS) - Getting Started forum elicited a reply from the SDS Team’s Rick Negrin:

We do not have that capability today.  The only way to access a container is using the username and password for the account that owns that container. So unless you give out your password no one else can access it. This is something we are looking to implement in the future.

As Ryan Dunn notes in another reply, Azure Data Storage services and the Windows Azure OS enable public access to applications, tables, blobs, and messages.

SQL Server Compact (SSCE) 3.5 and Sync Services

Steve Lasker’s Demos, Presentations, Links, Screencasts and Videos for SQL Server Compact post of 11/25/2008 covers his recent presentations at PDC and Tech Ed:

His extraordinarily long post also includes links to many SSCE and Sync Services demo projects and other related resources.

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

Simon Segal’s ASP.Net only for line of business? [Silverlight baby, Silverlight - Part 1] post of 11/24/2008 discusses the issues developers face when deciding which new technologies to adopt and his decision to take on development of a Silverlight 2 project. You can download the project’s initial UI here.

Microsoft announces availability of the Microsoft Web Platform Installer (Release Candidate), which installs Visual Web Developer 2008 Express Edition, SQL Server 2008 Express Edition, Visual Studio Tools for Silverlight, latest ASP.NET MVC beta and the .NET Framework 3.5 SP1 on Windows Vista RTM, Windows Vista SP1, Windows XP, Windows Server 2003, Windows Server 2008. The OS support added in the RC makes it ideal for installing these packages on an Amazon EC3 Windows Server 2003 instance.

Eric White adds Query Composition using Functional Programming Techniques in VB 9.0 in his Functional Programming Tutorial for Visual Basic 9.0 post of 11/24/2008 to his earlier Query Composition using Functional Programming Techniques in C# 3.0. Eric says:

The examples are converted to Visual Basic, and I’ve adjusted some topics to accommodate the differences between Visual Basic and C#. As with the C# tutorial, I've targeted it towards VB developers who have no functional programming experience.