Up until now I\'ve been using Active records in all my c# database driven applications. But now my application requires my persistence code being split from my business objects.
I would suggest that you take a look at an O/R-mapper tool before you try to implement the Data Mapper pattern yourself. It will save you a lot of time. A popular choice of O/R-mapper is NHibernate.