Объясните, пожалуйста, где хранить логику целостности системы?
Например, есть сущность контракт и сущность компаниия. Между компаниями может быть заключено много контрактов. Каждый контрак и каждая компания имеют уникальный идентификатор, свои независимые поведения и проч. Когда создается новый контракт, то надо убедиться, что идентификаторы компаний не взяты с потолка и они реально существуют в системе. Где проводить проверку?