orleans - 引用与另一种谷物相关的谷物的正确方法
问题描述
我一直在寻找这方面的一个例子,我不确定这是如何在这里完成的,因为谷物是孤立的。
示例:假设我有一个用户粒度,它可以引用 X 订单粒度,并且每个订单粒度都有一个与之关联的 OrderItem 粒度的集合。访问所有这些项目的首选方法是什么?
我想到的唯一方法是为 User grain 中的每个 Order grains 和 Order grains 中的 OrderItems 收集 PK,然后像调用任何 grain 一样调用它们。
抱歉,如果这是一个问题的新手,但我无法找到一个很好的示例解决方案来复习。
解决方案
听起来你的分区太窄了。为什么每个订单项目(甚至可能是订单)都是自己的谷物类型,是否有实际原因?如果它只是一个没有任何重要逻辑的数据持有者,也没有在外部引用,我只会将该数据保留在 Order 本身中,因为似乎每个项目都不应该有自己的身份。如果我们将概念映射到 DDD 术语,则每个聚合通常与一种粒度类型相关,并且您通常不会使每个订单项表现为聚合根。因此,您只需引用一个恰好包含其所有订单项的 Order grain。这基本上只是一个概括,对您的实际领域了解不多。在一些域中可以将订单项视为它们自己的聚合根,但请确保这是您想要的,
推荐阅读
- visual-c++ - 如何修复“无法在 VS 16 2019 中使用 cgal 和 boost 库启动示例程序。无法创建 ALL_BUILD 文件。”?
- python - 在 Python 中使用异常退出嵌套函数是多么糟糕的做法?
- javascript - dynamodb nodejs/lambda date.now()
- c - 抑制 ld 符号未找到错误以在运行时稍后解决
- java - 如何使 JFrame 调整大小
- javascript - 有没有办法让我通过 nodejs 获取 git origin 分支代码
- sql - 我想使用 PL/SQL 更新列
- python - 预先确定放大的最佳水平
- firebase - 当我尝试在我的颤振应用程序中使用 firebase 时,它会产生错误
- python-3.x - 如何使用电报 api 在我的机器人上发送图像?