Трудно сказать и дать полезные советы, не видя проект и его актуальные проблемы.Это клиент-серверная архитектура, например?Что вы подразумеваете под «довольно большой»?Слишком много разных проектов, чтобы иметь правила, подходящие для всех.
Обычно:
- В большинстве случаев очень полезно иметь бизнес-уровень.
- проверка должна быть на бизнес-уровне.Существует также валидация NHibernate и некоторые другие рамки валидации, которые допускают декларативную валидацию.
Самая распространенная ошибка, которую я вижу, начиная с NH, заключается в том, что люди не понимают невежество в отношении постоянства.Это означает, что вы должны написать свою бизнес-логику без доступа к базе данных или NH.Изменения вносятся в сущности, они не «временно», пока они не будут явно применены к базе данных, они неявно сохранятся, когда транзакция будет зафиксирована.Это имеет огромное влияние на код.Во многих случаях нет ни «Store», ни «Update», ни чего-либо еще.