Просто создайте минимальные объекты, необходимые для быстрого и надежного функционального кода. После этого вы можете позаботиться о рефакторинге и т. Д., А однажды, когда вы решите сменить инструмент ORM, вы испачкаете руку, играя с механикой, такой как репозиторий и шаблоны проектирования рабочих единиц.
Кроме того, если вы уже знакомы с шаблоном репозитория, было бы неплохо предвидеть его полезность, поскольку это может позволить вам не только изменить инструмент ORM, но, возможно, использовать ADO.NET напрямую, а затем при определенных обстоятельствах. .
Я считаю, что неплохо зависеть от сторонних инструментов, таких как ORM или тому подобное, и затем я думаю, что вы хотите работать на лучшую оценку, то есть, например, NHibernate, которую я предпочитаю всем остальным Инструменты ORM, которые существуют. И это личное мнение.
Идея, о которой я говорю, заключается не в том, чтобы написать кучу классов на тот случай, если они вам когда-нибудь понадобятся. Напишите их, когда они вам действительно нужны.