Thursday, August 07, 2008

LINQ and Entity Framework Posts for 8/4/2008+

Mike Ormond’s Three-Part Series about Securing Entities in ASP.NET Dynamic Data

Mike posted on August 7, 2008 the following three episodes about controlling the visibility of pages and their underlying tables:

Surprisingly, Mike uses VB code for his demos.

Added: August 7, 2008

Guy Burstein Offers Links to a Bevy of Useful SQL Server 2008 Resources

His SQL Server 2008 Resources post of August 7, 2008 includes links to SQL Server 2008 downloads, What’s New summaries, forums, Jumpstart materials, learning resources, database samples, and Guy’s pre-RTM posts on SQL Server 2008.

Added: August 7, 2008

Eric Nelson Draws LINQ Concept Map with IHMC’s Cmap Client and Server

The Institute for Human and Machine Cognition (IHMC), a not-for-profit research institute of the Florida University System, has sponsored the development of Concept maps and implementation of Cmap clients and servers for multiple operating sytems as the IHMC Cmap Tools. Eric Nelson spent five minutes creating a Cmap featured in his My first concept map – LINQ overview post of August 7, 2008.

Added: August 7, 2008

Steve Lasker Announces Release of 32-bit and 64-bit SQL Server Compact 3.5 SP1

Steve’s SQL Server Compact 3.5 SP1 Released post of August 7, 2008 notes that SSC SP1 offers the following new features:

  • ADO.NET Entity Framework provider. The Entity Framework enables you to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern yourself with the underlying database tables and columns where this data is stored.
    • Support for the ADO.NET Entity Framework allows you to create flexible, strongly typed queries against the Entity Framework object context by using LINQ expressions and the LINQ standard query operators directly from the development environment.
  • Case-sensitive collations for those C# folks that were allowed into the database <g>
  • Native 64bit support. No more locking your apps to WoW mode or Target = X86. And yes, we support a single version of your app that can privately deploy Compact 32 and 64 so your customers don't have to figure out whether they're running 32 or 64bit operating systems.

Update: August 8, 2008: SSC SP1 documentation is now available at SQL Server Compact 3.5 SP1 Books Online and Samples.

Added: August 7, 2008

Steve Naughton Adds Another Advanced FieldTemplate for ASP.NET Dynamic Data

His Dynamic Data and Field Templates - An Advanced FieldTemplate with a GridView post of August 7, 2008 describes the fifth advanced FieldTemplate for ASP.NET Dynamic Data, which embeds a GridView in a FormView control to enable use of the AJAX Toolkit’s Tab control.

Added: August 7, 2008

Julie Lerman Explains the Advantages of Using the GetObjectByKey() Method Instead of Retrieving the Object with a Query

Julie’s GetObjectbyKey in E.F. vs. Querying for a single entity post of August 6, 2008 points out that using the GetObjectByKey() or TryGetObjectByKey() method will return a reference to the entity, if it’s present in the cache, or query the persistence store if it’s not. On the other hand, querying for the entity always involves a roundtrip to the store.

Added: August 7, 2008

David Robinson Wants Guidance on Future SSDS Client Demo Projects

In his What kind of examples would be helpful? post of August 6, 2008, Dave wants to know:

  • Would you rather see code snippets or a fully working application?
  • Would you rather see a console app? WinForm? ASP.Net? WPF? Silverlight?
  • What type of app?
  • What are the challenging scenarios that you are facing that you would like a reference application to help you solve?

I’d rather see fully working applications as WinForm and WebForm apps, as I noted in a comment to his post. Samples dedicate to new features implemented in the most recent Sprint would be useful, too.

Added: August 7, 2008

Hilton Giesenow Explains How to Use Enumerations with LINQ to SQL

His Using Enums With LINQ To SQL post of August 6, 2008 gives you the details.

Added: August 7, 2008

Julie Lerman: Deciding Whether to Use Entity Framework’s LINQ to Entities or ObjectQueries

Julie’s Querying with LINQ to Entities vs ObjectQuery in EF post of August 5, 2008 describes the tradeoffs between LINQ to Entities and ObjectQuery queries, including QueryBuilder syntax.

Danny Simmons Updates the .NET Rocks Audience with the Latest Entity Framework v1 News

In Show #365 of August 5, 2008 Daniel Simmons on Entity Framework v1! updates his April 5, 2007 Daniel Simmons on ADO.NET Entity Framework (Show #226) interview with new details on EF v1’s release in Visual Studio 2008 SP1, Plain Old CLR Objects (POCO), and other recent EF events.

Updated List of Third-Party LINQ Providers

“LinqMaster”’s Links to LINQ Providers post of April 5, 2008 provides a comprehensive list of third-party LINQ providers. The only obvious missing provider is Agnes Molnar’s new LINQ4SP (LINQ to SharePoint) implementation.

Kristofer Andersson: Adding More Tools to the Huagati DBML Toolset for LINQ to SQL

The Huagati DBML Toolset for LINQ to SQL consists today of a Visual Studio 2008 add-in that “adds menu options for synchronizing LINQ to SQL designer diagrams with the underlying database, and for renaming entities and members to use .NET naming conventions.”

In his Tools - Part 3 - Add-ins - Writing optimized queries post of August 5, 2008, Kris describes:

Tool #3: DBML Explorer “that combines the information from the O/RM side (DBML file / LINQ to SQL designer) with schema information, table details, column details, index information, foreign keys, etc. With this information at hand directly in Visual Studio it will be easier to write LINQ queries against the database while being aware of what indexes are available for the query, comparative size of tables, etc.”

Tool #4: DBML Query Builder “extends the DBML Explorer with functionality to quickly select the relevant tables and columns, join types, groupings/aggregates, criteria, formulas and then let the tool compose the Linq query with on-screen advice on index usage etc. This tool will help beginners get up to speed with LINQ syntax as well as save typing for those who are not amused by writing queries.”

Tool #5: LINQ Query Analyzer catches bad queries “at design time in Visual Studio instead of later in SQL Server Profiler while troubleshooting performance issues in a production environment.”

Kris plans to release Tool #3 this week and will update this post when RTM dates for the other two tools are final. Existing DBML Tools license holders are eligible for upgrades of the new tools.

The August 2008 issue of ACM’s Queue Magazine Features Object/Relational Mapping Tool Articles

This month’s issue of Queue Magazine features an interview and three articles about O/RM tools:

Each of the three articles is well worth the read.

Shawn Wildermuth Finishes His Implementing IUpdatable Trio

Shawn’s Implementing IUpdatable (Part 3) post of August 3, 2008 is the final episode in his three part series about implementing IUpdatable to make NHibernate back-ends updatable when used with ADO.NET Data Services.

This post covers implementing the ClearChanges, ResolveResource(), ReplaceResource(), SetReference(), AddReferenceToCollection(), RemoveReferenceFromCollection() and SaveChanges() methods.

Paulo Morgado Demonstrates the Differences in Expression Trees Generated by VB and C#

Inspired by LLBLGen Pro’s Frans Bouma and Jon Skeet, Paulo’s C# And Visual Basic Generate Different Expression Trees post of August 4, 2008 demonstrates in considerable detail that:

    • The C# compiler will issue a virtual call to the virtual member in the class where it’s declared as virtual.
    • The Visual Basic compiler will issue a virtual call to the overriding member on the class that overrides it.

Chris Swain Provides Workarounds for Two Dynamic Data Problems

In his Distracted by Dynamic Data post of August 4, 2008, Chris describes problems with absolutely positioning dynamic controls on edit forms and proposes two solutions. He also provides a solution that enables the Dynamic Data Future’s DynamicLabel “to also set its Text property to the column DisplayName making the DynamicLabel truly dynamic.”

Pat Helland Discusses One of His Favorite Topics: Unreliability and Eventual Consistency of Transactions

Now that Pat’s a member of the SQL Server team, his Memories, Guesses, and Apologies presentation at Tech*Ed 2008 Developer has a bit less relevance because unreliability and eventual consistency of transactions is more of a problem for Cloud Computing databases that use large-scale replicated file systems, such as Google App Engine and Amazon SimpleDB, rather than today’s relational database systems. So Pat, defines “subjective consistency” in terms of memories, guesses, and apologies.

Update 8/6/208: Jeremy Stell-Smith’s Eventual Consistency, or things will all work out...eventually post of August 5, 2008 discusses issues with eventual consistency on Amazon SimpleDB.