Object Relational Mapping

Object Relational Mappers (OR/Ms) seem to be a hot topic these days. The mappers connect object and database models. The actual mappings are defined in XML format. Microsoft currently has two OR/Ms available. The first is LINQ to SQL. The other and newer one is ADO.NET Entity Framework.

There are some difficulties with both of these OR/Ms. The tools generate objects with names that match the corresponding database entities. This is not what developers always want. A further complication is when the database names change after the object model is generated.

If you use LINQ to SQL, and the database name changes, you must get rid of the previously generated object entities. Then you must regenerate them to match the database updates. That is a clunky mechanism. In the past, my team has encountered a lot of pain to manually update object models when we used other OR/Ms.

I plan to write about this topic more deeply in the future.