我们正在设计我们的OData Restful API,并且有一个设计决策看起来有点棘手。
应用程序中有一些主数据可供用户随时检索。相关实体是:
Plan -> Operation (Plan has one to many Operations)
当我们在系统中创建订单时(这是交易部分),它将被分配一个计划。这种关系看起来像:
Order -> Plan -> Operation (Order has one Plan, Plan has one to many Operations)
在订单(在交易部分)中,用户可以创建新的计划和操作。因此,Plan& amp;的主数据操作用作“模板”,订单由它们创建,但用户可以更改它们。
问题是:将主数据实体与OData模型中的事务实体分开是否有意义?
MasterDataPlan -> MasterDataOperation
Order -> Plan -> Operation
(这样,MasterData实体变为只读。)
VS
Plan -> Operation
Order -> Plan -> Operation
如有必要,我可以提供更多详细信息。