Простой факт заключается в том, что каждый магазин является своим и имеет своих личностей, которые предпочитают кодировать определенным образом.Если вы ищете в Google-коде или gitbut Repository.cs или RepositoryBase.cs, вы получите 100 различных реализаций одного и того же шаблона!Даже не начинайте рассказывать о том, что принадлежит людям в ControllerBase.cs или нет.
Существует также огромная разница между различными типами проектов.Приложения в стиле интрасети с MVC полностью отличаются от крупномасштабных веб-приложений.Уровни обслуживания против прямых запросов к базе данных, NoSql против традиционных подходов SQL, доменное проектирование против приложений с постоянством, FluentVal против DataAnnotations.
Мой ответ - ответа нетДелайте то, что работает для вас, лучше всего подходит вашей команде и поддерживает ваш код в чистоте и гибкости.