我是DDD的新手,請多多包涵。場景匯總A和匯總BA通過聚合B上的RelationId與B相關(guān)聯(lián)(因此將是B.A_Id?,F(xiàn)在,我必須創(chuàng)建B,但是有一條規(guī)則是,如果B.SalesDate離A不到7個日歷日,則不能創(chuàng)建B .ReleaseDate。我的問題是在聚合B上的CommandHandler上,我可以對聚合A進(jìn)行查詢以獲取A.ReleaseDate,這樣我就可以檢查提供的B.SalesDate是否不超過7個日歷日嗎?在聚合B上使用的CommandHandler代碼的一部分:public async Task Handle(AddBCommand command, CancellationToken cancellationToken) { if (!command.IsValid()) { NotifyValidationErrors(command); return; }// this is where I do a query on Aggregate A to get details using the Id (which is A.Id from Aggregate A) selected on UI var aggregateADetails = await A_Repository.GetFirstAsync(x => x.Id == command.Id); //if (isCloserthan7Days.) //{ // NotifyError(string.Empty, "B.SalesDate is 7 days closer than A.ReleaseDate"); // return; //}因此,在此CommandHandler上,我實例化了2個存儲庫,其中1個存儲庫用于B,1個存儲庫用于A在查詢中使用。這樣會違反DDD規(guī)則嗎?對不起,還不清楚。
- 1 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消