I’m building an application that must support MSSQL and MySQL databases. To avoid duplication of stored procedures etc., I’m considering using the Data Access Application Block to retrieve broadly scoped, very general datasets from either database, and then use DB agnostic LINQ code for more specific data access.
My other option is to use the Entity Framework, as the latest SQL/Connect library apparently supports it, but I’ve seen a lot of bad press about EF recently, so I have some doubts.
Which would be a better route to follow?
Have you considered DbLinq? I believe this has now moved to a google code project, but it supports MySQL via the DataContext approach of LINQ-to-SQL (SQL Server).
There haven’t been any official releases in a while, but the repo is active.
I would go with Entity Framework. You should also know that Entity Framework v2 is coming this year which has even more cool features.