Это действительно вопрос о параллелизме: как у вас есть несколько пользователей, изменяющих одни и те же бизнес-объекты, и уверены, что каждое из их правок будет успешно сохранено.
Если вы храните свои объекты в кэше,вы можете создать частичный объект для включения логического свойства IsDirty.При проверке элемента вы устанавливаете для свойства IsDirty соответствующего объекта значение true.
Существует множество способов обработки параллелизма, и один из способов, которым вы можете воспользоваться, - это проверить свойство IsDirty при проверке элемента.Если свойство имеет значение false, для свойства устанавливается значение true.Если свойство уже имеет значение true, вы отправляете обратно ошибку пользователю.После сохранения объекта вы возвращаете свойству IsDirty значение false.
Ситуация может становиться все сложнее и сложнее, если вы попытаетесь усложнить правила, созданные для сохранения ваших объектов.