Ошибки, конечно же, не будет: каждая архитектура имеет право на жизнь.
Но в случае, если будете разбивать на проекты с грамотным применением интерфейсов и внедрением зависимостей, то в будущем это упростит добавление нового функционала/переписывание существующего.
Например, если все взаимодействие с БД вынесете в отдельный проект, то в дальнейшем, если вдруг изменится тип БД или, например, перейдете с MySQL на обычные файлы, то достаточно будет добавить отдельный проект, написать логику и изменить в контейнере внедрения зависимостей класс реализации вместо того, чтобы переписывать существующий проект, частично ломая функционал и плодя новые костыли. Принцип модульности из SOLID во всей своей красе.
Ну, а по теме можно почитать "
Внедрение зависимостей в .NET"