Monday, April 30, 2007

Microsoft Data Access Strategy

I found this must read blog post from Mike Pizzo about Microsoft'sData Access Strategy, read it here. There are two new concepts released with Orcas. LINQ (with a couple of different variants) and ADO.NET Entity Framework (EF) with Entity Data Model (EDM).

Microsoft wants to get the developers to start programming against a conceptual data model instead of against a logical data model as most do today. The whole EF concept is a pieces of a large future plan including reporting, integration and applications. The first pieces of this concept will be included in Orcas but the framework is just in the beginning. In Orcas we will get an EDM wizard but I think that the real breakthrough for this isn't until the EDM Designer and more is avalaible in Rosario.

The first release in Orcas will still be a bottom up version of the EDM. We must start with the database and then use the tools and framework to link the database with the model. To get the EF to be a huge success there must be tools for the developers to start working model first and this functionallity will be included in Rosario.

When using LINQ and when using EDM? You should use the ADO.NET Entity Framework when( from the article above):

  • The ability to define more flexible mapping to existing relational schema, for example:
    o Mapping a single class to multiple tables
    o Mapping to different types of inheritance
    o Directly Modeling Many to Many relationships
    o Mapping to an arbitrary query against the store
  • The ability to query relational stores other than the Microsoft SQL Server family of products.
  • The ability to share a model across Replication, Reporting Services, BI, Integration Services, etc.
  • A full textual query language
  • The ability to query a conceptual model without materializing results as objects

My interpretation of this is that if you 're using Data Table Gateways you should use LINQ if not use EDM, the name applies that to :).

The article continous with "Microsoft is defining a migration plan for customers that start with LINQ to SQL and require additional functionality, such as richer mapping capabilities or access to other stores, to migrate to the ADO.NET Entity Framework".

Orcas will be released in late 2007 and the EF is excluded from that release and will come as an add-in in early 2008. I'm really looking forward to see what Rosario brings to us. I hope that model first will be accepted like contract first is today.

No comments: