Esistono framework scritti apposta per fare tutto questo in automatico. I più validi sono LINQ to Entities e LINQ to SQL. In particolare, l'Entity Framework è il più recente e con un modello ad oggetti migliore.
http://msdn.microsoft.com/it-it/library/bb386964.aspx