I have to design a Data Access Layer with .NET that probably will use more than one database management system (Mysql and Sql Server) with the same relational design.
NHibernate is designed to handle this kind of scenario if you are willing to learn it