У вас есть много вариантов.Один из вариантов - использовать одну из различных структур Object Relational Mapper (ORM).NHibernate является популярным, но Microsoft Entity Framework (в v4) также является разумной возможностью, и он лучше интегрируется с Linq, если вам это интересно.
Второй вариант (не обязательно исключая вышеперечисленное) заключается в реализации чего-то вроде шаблона репозитория и запуске всего доступа к базе данных через уровень репозитория.Некоторые люди видят рамки ORM как замену шаблону Repository;другие видят добавленную стоимость слоя репозитория поверх платформы ORM.Реальное значение, которое дает вам репозиторий, - это возможность поменять слои ORM.Только вы знаете, является ли это разумной вероятностью, и даже если это так, для реализации дополнительного уровня репозитория может потребоваться больше усилий, чем просто привязать все заново к новому ORM.