Лучший вариант - убедиться, что независимо от того, что вы делаете, у вас есть возможность изменить его позже.Так что, если вы переходите на NHibernate или EF, вам нужны фактические зависимости от фреймворков;То же самое для ручных реализаций.
Попробуйте реализовать шаблон Repository, затем вы можете создать NH-репо, EF-репо и т. д. и т. д. и посмотреть, какие из них лучше всего соответствуют вашим потребностям.
Myличное мнение состоит в том, чтобы сделать правильное OR-Mapping (вручную или с помощью фреймворка) - здесь подразумевается, что ваши бизнес / доменные объекты не просто выглядят как ваши таблицы, инаоборот.Весь смысл ORM заключается не только в том, чтобы вытащить данные из базы данных и в ваше приложение (для этого отлично подойдут DataSets), но и в том, чтобы позволить вам воспользоваться преимуществами ООП в вашем приложении иСУБД в вашем бэкэнде.
Если вы просто используете SQL в качестве «тупого хранилища» (мое любимое использование), то вы можете рассмотреть возможность использования OODB или другого подхода к сохранению объектов.Это всегда забавная вещь для изучения в хобби / побочных проектах - но это сложный случай для продажи руководству (они теряют свой SQL Server), но это стоит учитывать.
Конечно,если вы говорите об очень маленьком приложении, то, возможно, вы могли бы реализовать что-либо либо по шаблону Active Record, либо по шаблону Transaction Script - XScript отлично подходит для очень небольших приложений, но плохо масштабируется - и Active Record - отличнодля ввода данных / приложений CRUD