죄송합니다. 복제 된 경우 너무 많이 검색했지만 일치하는 질문을 찾지 못했습니다.한 트랜잭션에서 동일한 유형의 여러 집계 인스턴스를 업데이트 할 수 있습니까?
하나의 트랜잭션에서 여러 집계 인스턴스를 업데이트하지 말아야한다는 것을 알고 있습니다. 그러나 여기서 "다중 집계 인스턴스"는 다른 집계 유형의 여러 인스턴스를 의미한다고 생각합니다. 내가 맞습니까?
말, 제품 및 BacklogItem는는 두 개의 서로 다른 집계, 그래서 우리는 하나의 거래에 모두 제품 및 BacklogItem를 업데이트하지 않도록해야합니다.
그러나 동일한 집계 유형의 인스턴스를 여러 개 업데이트해야하는 경우 어떻게해야합니까? 예, 제품의 이름을 모두 업데이트해야합니다. 가장 좋은 방법은 무엇입니까?
의사는
//Application Service
public void ChangeTitle(string newName)
{
using(uow.BeginTransaction())
{
IEnumerable<Product> products = repo.GetAll();
foreach(var product in products)
{
product.ChangeName(newName);
}
}
}
아니요, 할 수 없습니다. 이 작업을 수행해야하는 경우 집계의 경계가 잘못되었습니다. –
@ ConstantinGALBENU 꼭 그렇지는 않습니다. 강력한 일관성을 위해 규칙과 트레이드 확장 성을 위반하는 것이 허용 될 수있는 경우가 있습니다. – plalx