One of the announcements that I’ve heard rumors about coming from TechEd is that Microsoft is going to be releasing two separate O/R Mappers along with LINQ. LINQ to SQL (aka: DLINQ) will be a lightweight O/R Mapper and LINQ for Entities will be more fully fledged O/R Mapper that will be integrated with the Entity Framework that is going to be part of ADO.NET 3 (or 4, 5, 6 depending on how many renames we end up with before it’s released).
One of the biggest problems in the O/R Mapper space is that there are way too many options to choose from. Seemingly everyone has written their own mapper, released it to the public and gone on to attempt to distinguish themselves from the thousands of other mappers available.
Apparently Microsoft has done the same thing with two separate divisions working on their own mapping technology. Rather then merging them into a single solution they’ve decided to make them both available and try and spin them as solving different problems. Yeah right.
Here’s a new idea. Create a single O/R Mapping solution that is integrated with LINQ. Make it extensible so that if it doesn’t fit someone’s specific need they have ways to make it fit. Focus on making it use the Provider model that you’ve made so famous so that we can swap out the behavior if need be. Don’t create two separate mapping solutions. We already have two many, we don’t need too many from you as well.