У меня есть пациент -совокупный корневой сущность со списком детей посещения детей. В соответствии с принципами DDD любая операция на объекте посещения выполняется через совокупный корень. Кроме того, любая настойчивость должна сохранять саму совокупную корневую сущность независимо от того, что изменилось у его детей. Я не буду предоставлять код из этого домена, поскольку он не относится к проблеме. Я не позволяю EF Core генерировать идентификатор, и это дизайн, поскольку этот код живет в модульном монолите с несколькими контекстами DB, поэтому нет навигационных свойств / соединений. Идентификатор сущности отправляется в разные кэши через EF Core Interceptor, и идентификатор должен быть известен до настойчивости. Вызов SaveChanges в DBContext приводит к следующей ошибке: < /p>
The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded.
< /code>
Вот извлечение моего обработчика команд Mediatr с большим количеством кода, предназначенного для краткости: < /p>
var patient = await _repo.GetByIdAsync(request.PatientId, cancellationToken);
var visitResult = patient.RegisterEmergencyVisit("aLotOfParametersFromTheRequest");
await _unitOfWork.SaveChangesAsync(cancellationToken);
< /code>
Я совершенно уверен, что эта проблема связана с тем фактом, что мои идентификаторы предварительно сгенерированы, так как я работал над гораздо меньшим проектом, выполняющим подобное в прошлом, и получил одинаковую проблему. Единственный способ, которым я обнаружил, - это позволить Efcore генерировать идентификаторы само по себе. Я не могу сделать этот обходной путь в этом проекте.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... enerated-i
AggregateUpdateConcurrencyException при использовании агрегатных DDD и предварительно сгенерированных идентификаторов ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Создание многомерной структуры из сгруппированных агрегатных данных из запроса Eloquent.
Anonymous » » в форуме Php - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-